Documentation / RelNotes / 1.7.4.txton commit Git 1.7.4-rc0 (01b97a4)
   1Git v1.7.4 Release Notes (draft)
   2================================
   3
   4Updates since v1.7.3
   5--------------------
   6
   7 * The documentation Makefile now assumes by default asciidoc 8 and
   8   docbook-xsl >= 1.73. If you have older versions, you can set
   9   ASCIIDOC7 and ASCIIDOC_ROFF, respectively.
  10
  11 * The option parsers of various commands that create new branch (or
  12   rename existing ones to a new name) were too loose and users were
  13   allowed to call a branch with a name that begins with a dash by
  14   creative abuse of their command line options, which only lead to
  15   burn themselves.  The name of a branch cannot begin with a dash
  16   now.
  17
  18 * System-wide fallback default attributes can be stored in
  19   /etc/gitattributes; core.attributesfile configuration variable can
  20   be used to customize the path to this file.
  21
  22 * The thread structure generated by "git send-email" has changed
  23   slightly.  Setting the cover letter of the latest series as a reply
  24   to the cover letter of the previous series with --in-reply-to used
  25   to make the new cover letter and all the patches replies to the
  26   cover letter of the previous series; this has been changed to make
  27   the patches in the new series replies to the new cover letter.
  28
  29 * Bash completion script in contrib/ has been adjusted to be usable with
  30   Bash 4 (options with '=value' didn't complete)  It has been also made
  31   usable with zsh.
  32
  33 * Different pagers can be chosen depending on which subcommand is
  34   being run under the pager, using "pager.<subcommand>" variable.
  35
  36 * The hardcoded tab-width of 8 used in whitespace breakage checks is now
  37   configurable via the attributes mechanism.
  38
  39 * Support of case insensitive filesystems (i.e. "core.ignorecase") has
  40   been improved.  For example, the gitignore mechanism didn't pay attention
  41   to the case insensitivity.
  42
  43 * The <tree>:<path> syntax to name a blob in a tree, and :<path>
  44   syntax to name a blob in the index (e.g. "master:Makefile",
  45   ":hello.c") have been extended.  You can start <path> with "./" to
  46   implicitly have the (sub)directory you are in prefixed to the
  47   lookup.  Similarly, ":../Makefile" from a subdirectory would mean
  48   "the Makefile of the parent directory in the index".
  49
  50 * "git blame" learned --show-email option to display the e-mail
  51   addresses instead of the names of authors.
  52
  53 * "git commit" learned --fixup and --squash options to help later invocation
  54   of the interactive rebase.
  55
  56 * "git daemon" can be built in MinGW environment.
  57
  58 * "git daemon" can take more than one --listen option to listen to
  59   multiple addresses.
  60
  61 * "git describe --exact-match" was optimized not to read commit
  62   objects unnecessarily.
  63
  64 * "git diff" and "git grep" learned how functions and subroutines
  65   in Fortran look like.
  66
  67 * "git fetch" learned "--recurse-submodules" option.
  68
  69 * "git mergetool" tells vim/gvim to show three-way diff by default
  70   (use vimdiff2/gvimdiff2 as the tool name for old behaviour).
  71
  72 * "git log -G<pattern>" limits the output to commits whose change has
  73   added or deleted lines that match the given pattern.
  74
  75 * "git read-tree" with no argument as a way to empty the index is
  76   deprecated; we might want to remove it in the future.  Users can
  77   use the new --empty option to be more explicit instead.
  78
  79 * "git repack -f" does not spend cycles to recompress objects in the
  80   non-delta representation anymore (use -F if you really mean it
  81   e.g. after you changed the core.compression variable setting).
  82
  83 * "git merge --log" used to limit the resulting merge log to 20
  84   entries; this is now customizable by giving e.g. "--log=47".
  85
  86 * "git merge" may work better when all files were moved out of a
  87   directory in one branch while a new file is created in place of that
  88   directory in the other branch.
  89
  90 * "git rebase --autosquash" can use SHA-1 object names to name which
  91   commit to fix up (e.g. "fixup! e83c5163").
  92
  93 * The default "recursive" merge strategy learned --rename-threshold
  94   option to influence the rename detection, similar to the -M option
  95   of "git diff".  From "git merge" frontend, "-X<strategy option>"
  96   interface, e.g. "git merge -Xrename-threshold=50% ...", can be used
  97   to trigger this.
  98
  99 * The "recursive" strategy also learned to ignore various whitespace
 100   changes; the most notable is -Xignore-space-at-eol.
 101
 102 * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read
 103   recipient list from a command output.
 104
 105 * "git send-email" learned to read and use "To:" from its input files.
 106
 107 * you can extend "git shell", which is often used on boxes that allow
 108   git-only login over ssh as login shell, with custom set of
 109   commands.
 110
 111 * The current branch name in "git status" output can be colored differently
 112   from the generic header color by setting "color.status.branch" variable.
 113
 114 * "git submodule sync" updates metainformation for all submodules,
 115   not just the ones that have been checked out.
 116
 117 * gitweb can use custom 'highlight' command with its configuration file.
 118
 119 * other gitweb updates.
 120
 121
 122Also contains various documentation updates.
 123
 124
 125Fixes since v1.7.3
 126------------------
 127
 128All of the fixes in v1.7.3.X maintenance series are included in this
 129release, unless otherwise noted.
 130
 131 * "git log --author=me --author=her" did not find commits written by
 132   me or by her; instead it looked for commits written by me and by
 133   her, which is impossible.
 134
 135 * "git push --progress" shows progress indicators now.
 136
 137 * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack
 138   instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames.
 139
 140 * "git submodule update --recursive --other-flags" passes flags down
 141   to its subinvocations.
 142
 143---
 144exec >/var/tmp/1
 145O=v1.7.3.4-687-g2cd900f
 146echo O=$(git describe master)
 147git shortlog --no-merges ^maint ^$O master