Re: [ANNOUNCE] Git v2.3.0-rc0

2015-01-20 Thread Ævar Arnfjörð Bjarmason
On Tue, Jan 13, 2015 at 12:57 AM, Junio C Hamano gits...@pobox.com wrote:
 An early preview release Git v2.3.0-rc0 is now available for
 testing at the usual places.
[...]
 Jeff King (38):
[...]
   parse_color: refactor color storage
[...]

I've had this in my .gitconfig since 2010 which was broken by Jeff's
v2.1.3-24-g695d95d:

;; Don't be so invasive about coloring ^M when I'm editing files
that
;; are supposed to have \r\n.
[color diff]
   whitespace = 0

To test this replace \n with \r\n in a file. Before this patch you could do:

git -c color.diff.whitespace=0 show

And just get:

[red]-[/red]
[green]+[/green]

As opposed to:

git -c color.diff.whitespace=1 show

Which gives you:

[red]-
[green]+[/green][red]^M[/red]

Now that just produces:

error: invalid color value: 0
fatal: bad config variable 'color.diff.whitespace' in file
'/home/avar/.gitconfig' at line 16

Maybe breaking this is OK (but I can't find what the replacement is),
but the config or the the changelog doesn't mention breaking existing
config settings.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [ANNOUNCE] Git v2.3.0-rc0

2015-01-14 Thread Christian Neukirchen
Junio C Hamano gits...@pobox.com writes:

  * git push into a repository with a working tree normally refuses
to modify the branch that is checked out.  The command learned to
optionally do an equivalent of git reset --hard only when there
is no change to the working tree and the index instead, which would
be useful to deploy by pushing into a repository.

Perhaps this can mention receive.denyCurrentBranch=updateInstead so
interested users won't have to grep the tree for 10min to find it. :)

Thanks,
-- 
Christian Neukirchen  chneukirc...@gmail.com  http://chneukirchen.org

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] Git v2.3.0-rc0

2015-01-12 Thread Junio C Hamano
An early preview release Git v2.3.0-rc0 is now available for
testing at the usual places.

With the slowness from the end-of-year holiday, this cycle turned
out to be a relatively lean one as I predicted (just 200 changes
since 2.2, as opposed to ~500 changes in an normal cycle), but that
is fine.  From time to time it is OK to have a release that does not
add many new things but just fixes niggles here and there.

The tarballs are found at:

https://www.kernel.org/pub/software/scm/git/testing/

The following public repositories all have a copy of the 'v2.3.0-rc0'
tag and the 'master' branch that the tag points at:

  url = https://kernel.googlesource.com/pub/scm/git/git
  url = git://repo.or.cz/alt-git.git
  url = https://code.google.com/p/git-core/
  url = git://git.sourceforge.jp/gitroot/git-core/git.git
  url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core
  url = https://github.com/gitster/git

Git v2.3 Release Notes (draft)
==

Updates since v2.2
--

Ports

 * Recent gcc toolchain on Cygwin started throwing compilation warning,
   which has been squelched.


UI, Workflows  Features

 * It was cumbersome to use GIT_SSH mechanism when the user wanted
   to pass an extra set of arguments to the underlying ssh.  A new
   environment variable GIT_SSH_COMMAND can be used for this.

 * A request to store an empty note via git notes meant to remove
   note from the object but with --allow-empty we will store a
   (surprise!)  note that is empty.

 * git interpret-trailers learned to properly handle the
   Conflicts: block at the end.

 * git am learned --message-id option to copy the message ID of
   the incoming e-mail to the log message of resulting commit.

 * git clone --reference=over there learned the --dissociate
   option to go with it; it borrows objects from the reference object
   store while cloning only to reduce network traffic and then
   dissociates the resulting clone from the reference by performing
   local copies of borrowed objects.

 * git send-email learned --transfer-encoding option to force a
   non-fault Content-Transfer-Encoding header (e.g. base64).

 * git send-email normally identifies itself via X-Mailer: header in
   the message it sends out.  A new command line flag --no-xmailer
   allows the user to squelch the header.

 * git push into a repository with a working tree normally refuses
   to modify the branch that is checked out.  The command learned to
   optionally do an equivalent of git reset --hard only when there
   is no change to the working tree and the index instead, which would
   be useful to deploy by pushing into a repository.

 * git new-workdir (in contrib/) can be used to populate an empty
   and existing directory now.

 * Credential helpers are asked in turn until one of them give
   positive response, which is cumbersome to turn off when you need to
   run Git in an automated setting.  The credential helper interface
   learned to allow a helper to say stop, don't ask other helpers.
   Also GIT_TERMINAL_PROMPT environment can be set to false to disable
   our built-in prompt mechanism for passwords.

 * git branch -d (delete) and git branch -m (move) learned to
   honor -f (force) flag; unlike many other subcommands, the way to
   force these have been with separate -D/-M options, which was
   inconsistent.

 * diff-highlight filter (in contrib/) allows its color output to be
   customized via configuration variables.

 * git imap-send learned to take -v (verbose) and -q (quiet)
   command line options.

 * git imap-send now can be built to use cURL library to talk to
   IMAP servers (if the library is recent enough, of course).
   This allows you to use authenticate method other than CRAM-MD5,
   among other things.


Performance, Internal Implementation, Development Support etc.

 * Earlier we made rev-list --object-edge more aggressively list the
   objects at the edge commits, in order to reduce number of objects 
   fetched into a shallow repository, but the change affected cases
   other than fetching into a shallow repository and made it
   unusably slow (e.g. fetching into a normal repository should not
   have to suffer the overhead from extra processing).  Limit it to a
   more specific case by introducing --objects-edge-aggressive, a new
   option to rev-list.

 * Squelched useless compiler warnings on Mac OS X regarding the
   crypto API.

 * The procedure to generate unicode table has been simplified.

 * Some filesystems assign filemodes in a strange way, fooling then
   automatic filemode trustability check done during a new
   repository creation.  The initialization codepath has been hardened
   against this issue.

 * The codepath in git remote update --prune to drop many refs has
   been optimized.

 * The API into get_merge_bases*() family of functions was easy to
   misuse, which has been corrected to make it harder to do so.

 * Long overdue departure from the assumption