Documentation / RelNotes / 1.7.4.txton commit Merge branch 'jk/maint-decorate-01-bool' (5e82601)
   1Git v1.7.4 Release Notes (draft)
   2================================
   3
   4Updates since v1.7.3
   5--------------------
   6
   7 * The option parsers of various commands that create new branch (or
   8   rename existing ones to a new name) were too loose and users were
   9   allowed to call a branch with a name that begins with a dash by
  10   creative abuse of their command line options, which only lead to
  11   burn themselves.  The name of a branch cannot begin with a dash
  12   now.
  13
  14 * System-wide fallback default attributes can be stored in
  15   /etc/gitattributes; core.attributesfile configuration variable can
  16   be used to customize the path to this file.
  17
  18 * The thread structure generated by "git send-email" has changed
  19   slightly.  Setting the cover letter of the latest series as a reply
  20   to the cover letter of the previous series with --in-reply-to used
  21   to make the new cover letter and all the patches replies to the
  22   cover letter of the previous series; this has been changed to make
  23   the patches in the new series replies to the new cover letter.
  24
  25 * Bash completion script in contrib/ has been adjusted to be also
  26   usable by zsh.
  27
  28 * "git blame" learned --show-email option to display the e-mail
  29   addresses instead of the names of authors.
  30
  31 * "git daemon" can be built in MinGW environment.
  32
  33 * "git daemon" can take more than one --listen option to listen to
  34   multiple addresses.
  35
  36 * "git diff" and "git grep" learned how functions and subroutines
  37   in Fortran look like.
  38
  39 * "git mergetool" tells vim/gvim to show three-way diff by default
  40   (use vimdiff2/gvimdiff2 as the tool name for old behaviour).
  41
  42 * "git log -G<pattern>" limits the output to commits whose change has
  43   added or deleted lines that match the given pattern.
  44
  45 * "git read-tree" with no argument as a way to empty the index is
  46   deprecated; we might want to remove it in the future.  Users can
  47   use the new --empty option to be more explicit instead.
  48
  49 * "git repack -f" does not spend cycles to recompress objects in the
  50   non-delta representation anymore (use -F if you really mean it when
  51   e.g. you changed the compression level).
  52
  53 * "git merge --log" used to limit the resulting merge log to 20
  54   entries; this is now customizable by giving e.g. "--log=47".
  55
  56 * "git merge" may work better when all files were moved out of a
  57   directory in one branch while a new file is created in place of that
  58   directory in the other branch.
  59
  60 * "git rebase --autosquash" can use SHA-1 object names to name which
  61   commit to fix up (e.g. "fixup! e83c5163").
  62
  63 * The default "recursive" merge strategy learned --rename-threshold
  64   option to influence the rename detection, similar to the -M option
  65   of "git diff".  E.g. "git merge -Xrename-threshold=50% ..." to use
  66   this.
  67
  68 * The "recursive" strategy also learned to ignore various whitespace
  69   changes; the most notable is -Xignore-space-at-eol.
  70
  71 * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read
  72   recipient list from a command output.
  73
  74 * "git send-email" learned to read and use "To:" from its input files.
  75
  76 * you can extend "git shell", which is often used on boxes that allow
  77   git-only login over ssh as login shell, with custom set of
  78   commands.
  79
  80 * "git submodule sync" updates metainformation for all submodules,
  81   not just the ones that have been checked out.
  82
  83 * gitweb can use custom 'highlight' command with its configuration file.
  84
  85
  86Also contains various documentation updates.
  87
  88
  89Fixes since v1.7.3
  90------------------
  91
  92All of the fixes in v1.7.3.X maintenance series are included in this
  93release, unless otherwise noted.
  94
  95 * Smart HTTP transport used to incorrectly retry redirected POST
  96   request with GET request (311e2ea006).
  97
  98 * "git apply" did not correctly handle patches that only change modes
  99   if told to apply while stripping leading paths with -p option (aae1f6ac).
 100
 101 * "git apply" can deal with patches with timezone formatted with a
 102   colon between the hours and minutes part (e.g. "-08:00" instead of
 103   "-0800").
 104
 105 * "git checkout" removed an untracked file "foo" from the working
 106    tree when switching to a branch that contains a tracked path
 107    "foo/bar".  Prevent this, just like the case where the conflicting
 108    path were "foo" (c752e7f..7980872d).
 109
 110 * "git diff --check" reported an incorrect line number for added
 111   blank lines at the end of file (8837d335).
 112
 113 * "git log --author=me --author=her" did not find commits written by
 114   me or by her; instead it looked for commits written by me and by
 115   her, which is impossible.
 116
 117 * "git merge" into an unborn branch removed an untracked file "foo"
 118   from the working tree when merged branch had "foo" (2caf20c..172b642).
 119
 120 * "git push --progress" shows progress indicators now.
 121
 122 * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack
 123   instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames.
 124
 125 * "git submodule update --recursive --other-flags" passes flags down
 126   to its subinvocations.
 127
 128---
 129exec >/var/tmp/1
 130O=v1.7.3.2-450-g5b9c331
 131echo O=$(git describe master)
 132git shortlog --no-merges ^maint ^$O master