Merge branch 'pn/commit-autosquash'
[git/jnareb-git.git] / Documentation / RelNotes / 1.7.4.txt
blob0a73e6dc0f76d8f4b46a04508796b8ecaf8c7433
1 Git v1.7.4 Release Notes (draft)
2 ================================
4 Updates since v1.7.3
5 --------------------
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.
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.
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.
25  * Bash completion script in contrib/ has been adjusted to be also
26    usable by zsh.
28  * "git blame" learned --show-email option to display the e-mail
29    addresses instead of the names of authors.
31  * "git daemon" can be built in MinGW environment.
33  * "git daemon" can take more than one --listen option to listen to
34    multiple addresses.
36  * "git diff" and "git grep" learned how functions and subroutines
37    in Fortran look like.
39  * "git mergetool" tells vim/gvim to show three-way diff by default
40    (use vimdiff2/gvimdiff2 as the tool name for old behaviour).
42  * "git log -G<pattern>" limits the output to commits whose change has
43    added or deleted lines that match the given pattern.
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.
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).
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".
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.
60  * "git rebase --autosquash" can use SHA-1 object names to name which
61    commit to fix up (e.g. "fixup! e83c5163").
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.
68  * The "recursive" strategy also learned to ignore various whitespace
69    changes; the most notable is -Xignore-space-at-eol.
71  * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read
72    recipient list from a command output.
74  * "git send-email" learned to read and use "To:" from its input files.
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.
80  * "git submodule sync" updates metainformation for all submodules,
81    not just the ones that have been checked out.
83  * gitweb can use custom 'highlight' command with its configuration file.
86 Also contains various documentation updates.
89 Fixes since v1.7.3
90 ------------------
92 All of the fixes in v1.7.3.X maintenance series are included in this
93 release, unless otherwise noted.
95  * Smart HTTP transport used to incorrectly retry redirected POST
96    request with GET request (311e2ea006).
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).
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").
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).
110  * "git diff --check" reported an incorrect line number for added
111    blank lines at the end of file (8837d335).
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.
117  * "git merge" into an unborn branch removed an untracked file "foo"
118    from the working tree when merged branch had "foo" (2caf20c..172b642).
120  * "git push --progress" shows progress indicators now.
122  * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack
123    instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames.
125  * "git submodule update --recursive --other-flags" passes flags down
126    to its subinvocations.
129 exec >/var/tmp/1
130 O=v1.7.3.2-450-g5b9c331
131 echo O=$(git describe master)
132 git shortlog --no-merges ^maint ^$O master