-Git v1.7.5 Release Notes (draft)
+Git v1.7.6 Release Notes (draft)
========================
Updates since v1.7.5
* Various git-svn updates.
- * When an object "$tree:$path" does not exist, if $path does exist in the
- subtree of $tree that corresponds to the subdirectory the user is in,
- git now suggests using "$tree:./$path" in addition to the advice to use
- the full path from the root of the working tree.
+ * Updates the way content tags are handled in gitweb.
+
+ * Clean-up of the C part of i18n (but not l10n---please wait)
+ continues.
+
+ * Processes spawned by "[alias] <name> = !process" in the configuration
+ can inspect GIT_PREFIX environment variable to learn where in the
+ working tree the original command was invoked.
* "git blame" learned "--abbrev[=<n>]" option to control the minimum
number of hexdigits shown for commit object names.
- * "git clean" used to fail on an empty directory that is not readable,
- even though rmdir(2) could remove such a directory. Now we attempt it
- as the last resort.
+ * "git diff -C -C" used to disable the rename detection entirely when
+ there are too many copy candidate paths in the tree; now it falls
+ back to "-C" when doing so would keep the copy candidate paths
+ under the rename detection limit.
+
+ * "git diff" and its family of commands learned --dirstat=0 to show
+ directories that contribute less than 0.1% of changes.
+
+ * "git diff" and its family of commands learned --dirstat=lines mode to
+ assess damage to the directory based on number of lines in the patch
+ output, not based on the similarity numbers.
* "git format-patch" learned "--quiet" option to suppress the output of
the names of generated files.
+ * "git format-patch" quotes people's names when it has RFC822 special
+ characters in it, e.g. "Junio C. Hamano" <jch@example.com>. Earlier
+ it was up to the user to do this when using its output.
+
+ * "git log" and friends learned a new "--notes" option to replace the
+ "--show-notes" option. Unlike "--show-notes", "--notes=<ref>" does
+ not imply showing the default notes.
+
* "git merge" learned "-" as a short-hand for "the previous branch", just
like the way "git checkout -" works.
- * "git pack-object" now takes core.bigfilethreashold into account, just
- like fast-imoprt does.
+ * "git rebase" that does not specify on top of which branch to rebase
+ the current branch now uses @{upstream} of the current branch.
- * "git reflog" allows options like "--format=.." to be given.
+ * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked
+ commits separately, producing more a useful output.
- * "git stash apply" can now apply to a working tree with changes as long
- as there is no overlapping change as the stash being applied.
+ * "git submodule update" learned "--force" option to get rid of local
+ changes in submodules and replace them with the up-to-date version.
- * "git stash apply @{99999}" now is diagnosed as an error, unless you
- really have that many stash entries.
+ * Compressed tarball gitweb generates is made without the timestamp of
+ the tarball generation; snapshot from the same tree should result in
+ a same tarball.
-Also contains various documentation updates.
+Also contains various documentation updates and minor miscellaneous
+changes.
Fixes since v1.7.5
Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are
included in this release.
- * The "--date=relative" output format used to say "X years, 12 months"
- when it should have said "X+1 years".
- (merge mg/x-years-12-months later)
+ * "git add -p" did not work correctly when a hunk is split and then
+ one of them was given to the editor.
+ (merge jc/maint-add-p-overlapping-hunks later)
+
+ * "git add -u" did not resolve a conflict where our history deleted and
+ their history modified the same file, and the working tree resolved to
+ keep a file.
+ (merge jc/fix-add-u-unmerged later)
* "git config" used to choke with an insanely long line.
(merge ef/maint-strbuf-init later)
- * The "--dirstat" option of "diff" family of commands used to totally
- ignore a change that only rearranged lines within a file. Such a
- change now counts as at least a minimum but non zero change.
-
- * The "--dirstat" option of "diff" family of commands used to use the
- pathname in the original, instead of the pathname in the result,
- when renames are involved.
- (merge jh/dirstat for the above two later)
-
- * "git format-patch" when run with "--quiet" option used to produce a
- nonsense result that consists of alternating empty output.
- (merge early part of cn/format-patch-quiet later)
-
- * "git stash -p --no-keep-index" and "git stash --no-keep-index -p" now
- mean the same thing.
- (merge dm/stash-k-i-p later)
+ * In "git merge", per-branch branch.<name>.mergeoptions configuration
+ variables did not override the fallback default merge.<option>
+ configuration variables such as merge.ff, merge.log, etc.
+ (merge jc/maint-branch-mergeoptions later)
- * "git upload-pack" (hence "git push" over git native protocol) had a
- subtle race condition that could lead to a deadlock.
- (merge jk/maint-upload-pack-shallow later)
+ * "git send-pack" (hence "git push") over smalt-HTTP protocol could
+ deadlock when the client side pack-object died early.
+ (merge js/maint-send-pack-stateless-rpc-deadlock-fix later)
---
exec >/var/tmp/1
echo O=$(git describe master)
-O=v1.7.5
+O=v1.7.5.1-288-ge4ae6ef
git shortlog --no-merges ^maint ^$O master