threads / announce / 26210

[ANNOUNCE] Git 1.7.4-rc1

Subject: [ANNOUNCE] Git 1.7.4-rc1

## tl;dr

2 messages between Jan 6, 2011 and Jan 10, 2011.

replies: 1people: 1as markdown or json

Junio C Hamano· Jan 6, 2011, 00:54 UTC · lore

A release candidate Git 1.7.4-rc1 is available at the usual places for testing:

  http://www.kernel.org/pub/software/scm/git/
  git-1.7.4.rc1.tar.{gz,bz2}			(source tarball)
  git-htmldocs-1.7.4.rc1.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.7.4.rc1.tar.{gz,bz2}		(preformatted docs)
The RPM binary packages for a few architectures are found in:
  testing/git-*-1.7.4.rc1-1.fc13.$arch.rpm	(RPM)

Git v1.7.4 Release Notes (draft) ================================

Updates since v1.7.3 --------------------

 * The documentation Makefile now assumes by default asciidoc 8 and
   docbook-xsl >= 1.73. If you have older versions, you can set
   ASCIIDOC7 and ASCIIDOC_ROFF, respectively.
 * The option parsers of various commands that create new branches (or
   rename existing ones to a new name) were too loose and users were
   allowed to give a branch a name that begins with a dash by creative
   abuse of their command line options, which only led to burning
   themselves.  The name of a branch cannot begin with a dash now.
 * System-wide fallback default attributes can be stored in
   /etc/gitattributes; core.attributesfile configuration variable can
   be used to customize the path to this file.
 * The thread structure generated by "git send-email" has changed
   slightly.  Setting the cover letter of the latest series as a reply
   to the cover letter of the previous series with --in-reply-to used
   to make the new cover letter and all the patches replies to the
   cover letter of the previous series; this has been changed to make
   the patches in the new series replies to the new cover letter.
 * Bash completion script in contrib/ has been adjusted to be usable with
   Bash 4 (options with '=value' didn't complete)  It has been also made
   usable with zsh.
 * Different pagers can be chosen depending on which subcommand is
   being run under the pager, using "pager.<subcommand>" variable.
 * The hardcoded tab-width of 8 used in whitespace breakage checks is now
   configurable via the attributes mechanism.
 * Support of case insensitive filesystems (i.e. "core.ignorecase") has
   been improved.  For example, the gitignore mechanism didn't pay attention
   to the case insensitivity.
 * The <tree>:<path> syntax to name a blob in a tree, and :<path>
   syntax to name a blob in the index (e.g. "master:Makefile",
   ":hello.c") have been extended.  You can start <path> with "./" to
   implicitly have the (sub)directory you are in prefixed to the
   lookup.  Similarly, ":../Makefile" from a subdirectory would mean
   "the Makefile of the parent directory in the index".
 * "git blame" learned --show-email option to display the e-mail
   addresses instead of the names of authors.
 * "git commit" learned --fixup and --squash options to help later invocation
   of the interactive rebase.
 * Command line options to "git cvsimport" whose names are in capital
   letters (-A, -M, -R and -S) can now be specified as the default in
   the .git/config file by their longer names (cvsimport.authorsFile,
   cvsimport.mergeRegex, cvsimport.trackRevisions, cvsimport.ignorePaths).
 * "git daemon" can be built in MinGW environment.
 * "git daemon" can take more than one --listen option to listen to
   multiple addresses.
 * "git describe --exact-match" was optimized not to read commit
   objects unnecessarily.
 * "git diff" and "git grep" learned how functions and subroutines
   in Fortran look like.
 * "git fetch" learned "--recurse-submodules" option.
 * "git mergetool" tells vim/gvim to show three-way diff by default
   (use vimdiff2/gvimdiff2 as the tool name for old behaviour).
 * "git log -G<pattern>" limits the output to commits whose change has
   added or deleted lines that match the given pattern.
 * "git read-tree" with no argument as a way to empty the index is
   deprecated; we might want to remove it in the future.  Users can
   use the new --empty option to be more explicit instead.
 * "git repack -f" does not spend cycles to recompress objects in the
   non-delta representation anymore (use -F if you really mean it
   e.g. after you changed the core.compression variable setting).
 * "git merge --log" used to limit the resulting merge log to 20
   entries; this is now customizable by giving e.g. "--log=47".
 * "git merge" may work better when all files were moved out of a
   directory in one branch while a new file is created in place of that
   directory in the other branch.
 * "git rebase --autosquash" can use SHA-1 object names to name which
   commit to fix up (e.g. "fixup! e83c5163").
 * The default "recursive" merge strategy learned --rename-threshold
   option to influence the rename detection, similar to the -M option
   of "git diff".  From "git merge" frontend, "-X<strategy option>"
   interface, e.g. "git merge -Xrename-threshold=50% ...", can be used
   to trigger this.
 * The "recursive" strategy also learned to ignore various whitespace
   changes; the most notable is -Xignore-space-at-eol.
 * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read
   recipient list from a command output.
 * "git send-email" learned to read and use "To:" from its input files.
 * you can extend "git shell", which is often used on boxes that allow
   git-only login over ssh as login shell, with custom set of
   commands.
 * The current branch name in "git status" output can be colored differently
   from the generic header color by setting "color.status.branch" variable.
 * "git submodule sync" updates metainformation for all submodules,
   not just the ones that have been checked out.
 * gitweb can use custom 'highlight' command with its configuration file.
 * other gitweb updates.
Also contains various documentation updates.

Fixes since v1.7.3 ------------------

All of the fixes in v1.7.3.X maintenance series are included in this release, unless otherwise noted.

 * "git log --author=me --author=her" did not find commits written by
   me or by her; instead it looked for commits written by me and by
   her, which is impossible.
 * "git push --progress" shows progress indicators now.
 * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack
   instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames.
 * "git submodule update --recursive --other-flags" passes flags down
   to its subinvocations.
Junio C Hamano· Jan 10, 2011, 17:11 UTC · lore

Re: [ANNOUNCE] Git 1.7.4-rc1

Johan Herland <johan@herland.net> writes:
Show 10 quoted lines
> I can't find "git merge --abort" and "git notes merge" in this list. 
> Suggested paragraphs:
>
>  * "git merge" learned "--abort" option, synonymous to
>    "git reset --merge" when a merge is in progress.
>
>  * "git notes" learned the "merge" subcommand to merge notes refs.
>    In addition to the default manual conflict resolution, there are
>    also several notes merge strategies for automatically resolving
>    notes merge conflicts.
Thanks.

← back to recent threads