Merge branch 'svn-fe' of git://repo.or.cz/git/jrn
[git/jnareb-git.git] / Documentation / RelNotes / 1.7.5.txt
blob23545bdbaa5a059178b7f0c93d1cc5e7e753da1c
1 Git v1.7.5 Release Notes (draft)
2 ========================
4 Updates since v1.7.4
5 --------------------
7  * Various MinGW portability fixes.
9  * Various git-p4 enhancements (in contrib).
11  * Various vcs-svn enhancements.
13  * Various git-gui updates (0.14.0).
15  * Update to more modern HP-UX port.
17  * The codebase is getting prepared for i18n/l10n; no translated/translatable
18    strings in the code yet.
20  * The bash completion script can now complete symmetric difference
21    for "git diff" command, e.g. "git diff ...bra<TAB>".
23  * The default minimum length of abbreviated and unique object names
24    can now be configured by setting the core.abbrev configuration
25    variable.
27  * "git apply -v" reports offset lines when the patch does not apply at
28    the exact location recorded in the diff output.
30  * "git branch --track" (and "git checkout --track --branch") used to
31    allow setting up a random non-branch that does not make sense to follow
32    as the "upstream".  The command correctly diagnoses it as an error.
34  * "git config" used to be also known as "git repo-config", but the old
35    name is now officially deprecated.
37  * "git checkout --detach <commit>" is a more user friendly synonym for
38    "git checkout <commit>^0".
40  * "git checkout" performed on detached HEAD gives a warning and
41    advice when the commit being left behind will become unreachable from
42    any branch or tag.
44  * "git cherry-pick" and "git revert" can be told to use a custom merge
45    strategy, similar to "git rebase".
47  * "git cherry-pick" remembers which commit failed to apply when it is
48    stopped by conflicts, making it unnecessary to use "commit -c $commit"
49    to conclude it.
51  * "git cvsimport" bails out immediately when the cvs server cannot be
52    reached, without spewing unnecessary error messages that complain about
53    the server response it never got.
55  * "git fetch" vs "git upload-pack" transfer learned 'no-done'
56    protocol extension to save one round-trip after the content
57    negotiation is done. This saves one HTTP RPC, reducing the overall
58    latency for a trivial fetch.
60  * "git grep -f <filename>" learned to treat "-" as "read from the
61    standard input stream".
63  * "git grep --no-index" did not honor pathspecs correctly, returning
64    paths outside the specified area.
66  * "git log" type commands now understand globbing pathspecs.  You
67    can say "git log -- '*.txt'" for example.
69  * "git log" family of commands learned --cherry and --cherry-mark
70    options that can be used to view two diverged branches while omitting
71    or highlighting equivalent changes that appear on both sides of a
72    symmetric difference (e.g. "log --cherry A...B").
74  * "git mergetool" learned how to drive "beyond compare 3" as well.
76  * "git rerere forget" without pathspec used to forget all the saved
77    conflicts that relate to the current merge; it now requires you to
78    give it pathspecs.
80  * "git rev-list --objects $revs -- $pathspec" now limits the objects listed
81    in its output properly with the pathspec, in preparation for narrow
82    clones.
84  * "git push" with no parameters gives better advice messages when
85    "tracking" is used as the push.default semantics or there is no remote
86    configured yet.
88  * "git rerere" learned a new subcommand "remaining" that is similar to
89    "status" and lists the paths that had conflicts which are known to
90    rerere, but excludes the paths that have already been marked as
91    resolved in the index from its output.  "git mergetool" has been
92    updated to use this facility.
94  * A possible value to the "push.default" configuration variable,
95    'tracking', gained a synonym that more naturally describes what it
96    does, 'upstream'.
98 Also contains various documentation updates.
101 Fixes since v1.7.4
102 ------------------
104 All of the fixes in the v1.7.4.X maintenance series are included in this
105 release, unless otherwise noted.
107  * "git apply" used to confuse lines updated by previous hunks as lines
108    that existed before when applying a hunk, contributing misapplication
109    of patches with offsets.
111  * "git checkout $other_branch" silently removed untracked symbolic links
112    in the working tree that are in the way in order to check out paths
113    under it from the named branch (js/checkout-untracked-symlink).
115  * "git diff --quiet" did not work very well with the "--diff-filter"
116    option (jc/maint-diff-q-filter).
118  * "git fetch" from a client that is mostly following the remote
119    needlessly told all of its refs to the server for both sides to
120    compute the set of objects that need to be transferred efficiently,
121    instead of stopping when the server heard enough. In a project with
122    many tags, this turns out to be extremely wasteful, especially over
123    the smart HTTP transport (sp/maint-{upload,fetch}-pack-stop-early~1).
125  * "git fetch" run from a repository that uses the same repository as
126    its alternate object store as the repository it is fetching from
127    did not tell the server that it already has access to objects
128    reachable from the refs in their common alternate object store,
129    causing it to fetch unnecessary objects (jc/maint-fetch-alt).
131  * "git stash apply" reported the result of its operation by running
132    "git status" from the top-level of the working tree; it should (and
133    now does) run it from the user's working directory
134    (pk/stash-apply-status-relative).
137 exec >/var/tmp/1
138 O=v1.7.4.2-405-gbf0c5bb
139 echo O=$(git describe 'master')
140 git shortlog --no-merges ^maint ^$O master