submodule: Use cat instead of echo to avoid DOS line-endings
[git/mingw/4msysgit/gitPS1fix.git] / Documentation / RelNotes / 1.7.6.txt
blob7e1c7f177327a253d5adb1a9aae31da9caf62b20
1 Git v1.7.6 Release Notes (draft)
2 ========================
4 Updates since v1.7.5
5 --------------------
7  * Various git-svn updates.
9  * Updates the way content tags are handled in gitweb.  Also adds
10    a UI to choose common timezone for displaying the dates.
12  * Similar to branch names, tagnames that begin with "-" are now
13    disallowed.
15  * Clean-up of the C part of i18n (but not l10n---please wait)
16    continues.
18  * The scripting part of the codebase is getting prepared for i18n/l10n.
20  * Pushing and pulling from a repository with large number of refs that
21    point to identical commits are optimized by not listing the same commit
22    during the common ancestor negotiation exchange with the other side.
24  * Adding a file larger than core.bigfilethreshold (defaults to 1/2 Gig)
25    using "git add" will send the contents straight to a packfile without
26    having to hold it and its compressed representation both at the same
27    time in memory.
29  * Processes spawned by "[alias] <name> = !process" in the configuration
30    can inspect GIT_PREFIX environment variable to learn where in the
31    working tree the original command was invoked.
33  * A magic pathspec ":/" tells a command that limits its operation to
34    the current directory when ran from a subdirectory to work on the
35    entire working tree. In general, ":/path/to/file" would be relative
36    to the root of the working tree hierarchy.
38    After "git reset --hard; edit Makefile; cd t/", "git add -u" would
39    be a no-op, but "git add -u :/" would add the updated contents of
40    the Makefile at the top level. If you want to name a path in the
41    current subdirectory whose unusual name begins with ":/", you can
42    name it by "./:/that/path" or by "\:/that/path".
44  * "git blame" learned "--abbrev[=<n>]" option to control the minimum
45    number of hexdigits shown for commit object names.
47  * "git blame" learned "--line-porcelain" that is less efficient but is
48    easier to parse.
50  * Aborting "git commit --interactive" discards updates to the index
51    made during the interctive session.
53  * "git commit" learned a "--patch" option to directly jump to the
54    per-hunk selection UI of the interactive mode.
56  * "git diff -C -C" used to disable the rename detection entirely when
57    there are too many copy candidate paths in the tree; now it falls
58    back to "-C" when doing so would keep the copy candidate paths
59    under the rename detection limit.
61  * "git diff" and its family of commands learned --dirstat=0 to show
62    directories that contribute less than 0.1% of changes.
64  * "git diff" and its family of commands learned --dirstat=lines mode to
65    assess damage to the directory based on number of lines in the patch
66    output, not based on the similarity numbers.
68  * "git format-patch" learned "--quiet" option to suppress the output of
69    the names of generated files.
71  * "git format-patch" quotes people's names when it has RFC822 special
72    characters in it, e.g. "Junio C. Hamano" <jch@example.com>.  Earlier
73    it was up to the user to do this when using its output.
75  * "git log" and friends learned a new "--notes" option to replace the
76    "--show-notes" option.  Unlike "--show-notes", "--notes=<ref>" does
77    not imply showing the default notes.
79  * They also learned a log.abbrevCommit configuration variable to augment
80    the --abbrev-commit command line option.
82  * "git ls-remote" learned "--exit-code" option to consider it a
83    different kind of error when no remote ref to be shown.
85  * "git merge" learned "-" as a short-hand for "the previous branch", just
86    like the way "git checkout -" works.
88  * "git merge" uses "merge.ff" configuration variable to decide to always
89    create a merge commit (i.e. --no-ff, aka merge.ff=no), refuse to create
90    a merge commit (i.e. --ff-only, aka merge.ff=only). Setting merge.ff=yes
91    (or not setting it at all) restores the default behaviour of allowing
92    fast-forward to happen when possible.
94  * p4-import (from contrib) learned a new option --preserve-user.
96  * "git rebase" that does not specify on top of which branch to rebase
97    the current branch now uses @{upstream} of the current branch.
99  * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked
100    commits separately, producing more a useful output.
102  * "git submodule update" learned "--force" option to get rid of local
103    changes in submodules and replace them with the up-to-date version.
105  * "git status" and friends ignore .gitmodules file while the file is
106    still in a conflicted state during a merge, to avoid using information
107    that is not final and possibly corrupt with conflict markers.
109 Also contains various documentation updates and minor miscellaneous
110 changes.
113 Fixes since v1.7.5
114 ------------------
116 Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are
117 included in this release.
119  * The single-key mode of "git add -p" was easily fooled into thinking
120    that it was told to add everthing ('a') when up-arrow was pressed by
121    mistake.
122    (merge tr/add-i-no-escape later)
124  * "git config" used to choke with an insanely long line.
125    (merge ef/maint-strbuf-init later)
128 exec >/var/tmp/1
129 echo O=$(git describe master)
130 O=v1.7.5.3-365-g7eacc2b
131 git shortlog --no-merges ^maint ^$O master