diff options
Diffstat (limited to 'Documentation/RelNotes/1.7.6.txt')
-rw-r--r-- | Documentation/RelNotes/1.7.6.txt | 140 |
1 files changed, 91 insertions, 49 deletions
diff --git a/Documentation/RelNotes/1.7.6.txt b/Documentation/RelNotes/1.7.6.txt index fbbc5b447e..9ec498ea39 100644 --- a/Documentation/RelNotes/1.7.6.txt +++ b/Documentation/RelNotes/1.7.6.txt @@ -1,4 +1,4 @@ -Git v1.7.6 Release Notes (draft) +Git v1.7.6 Release Notes ======================== Updates since v1.7.5 @@ -6,51 +6,118 @@ Updates since v1.7.5 * Various git-svn updates. + * Updates the way content tags are handled in gitweb. Also adds + a UI to choose common timezone for displaying the dates. + + * Similar to branch names, tagnames that begin with "-" are now + disallowed. + * Clean-up of the C part of i18n (but not l10n---please wait) continues. - * 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. + * The scripting part of the codebase is getting prepared for i18n/l10n. + + * Pushing and pulling from a repository with large number of refs that + point to identical commits are optimized by not listing the same commit + during the common ancestor negotiation exchange with the other side. + + * Adding a file larger than core.bigfilethreshold (defaults to 1/2 Gig) + using "git add" will send the contents straight to a packfile without + having to hold it and its compressed representation both at the same + time in memory. + + * 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. + + * A magic pathspec ":/" tells a command that limits its operation to + the current directory when ran from a subdirectory to work on the + entire working tree. In general, ":/path/to/file" would be relative + to the root of the working tree hierarchy. + + After "git reset --hard; edit Makefile; cd t/", "git add -u" would + be a no-op, but "git add -u :/" would add the updated contents of + the Makefile at the top level. If you want to name a path in the + current subdirectory whose unusual name begins with ":/", you can + name it by "./:/that/path" or by "\:/that/path". * "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 blame" learned "--line-porcelain" that is less efficient but is + easier to parse. + + * Aborting "git commit --interactive" discards updates to the index + made during the interactive session. + + * "git commit" learned a "--patch" option to directly jump to the + per-hunk selection UI of the interactive mode. - * "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 format-patch" can take an empty --subject-prefix now. + + * "git grep" learned the "-P" option to take pcre regular expressions. + * "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. + * They also learned a log.abbrevCommit configuration variable to augment + the --abbrev-commit command line option. + + * "git ls-remote" learned "--exit-code" option to consider it a + different kind of error when no remote ref to be shown. + * "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 merge" uses "merge.ff" configuration variable to decide to always + create a merge commit (i.e. --no-ff, aka merge.ff=no), refuse to create + a merge commit (i.e. --ff-only, aka merge.ff=only). Setting merge.ff=yes + (or not setting it at all) restores the default behaviour of allowing + fast-forward to happen when possible. + + * p4-import (from contrib) learned a new option --preserve-user. + + * "git read-tree -m" learned "--dry-run" option that reports if a merge + would fail without touching the index nor the working tree. + + * "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 rebase" finished either normally or with --abort did not + update the reflog for HEAD to record the event to come back to + where it started from. - * "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 remote add -t only-this-branch --mirror=fetch" is now allowed. Earlier + a fetch-mode mirror meant mirror everything, but now it only means refs are + not renamed. + + * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked + commits separately, producing more a useful output. * "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. + * "git status" and friends ignore .gitmodules file while the file is + still in a conflicted state during a merge, to avoid using information + that is not final and possibly corrupt with conflict markers. -Also contains various documentation updates. +Also contains various documentation updates and minor miscellaneous +changes. Fixes since v1.7.5 @@ -62,33 +129,8 @@ included in this release. * "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) - - * "diff -M --cached" used to use unmerged path as a possible rename - source candidate, which made no sense. - (merge mz/maint-rename-unmerged 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) - - * "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 diff --quiet" did not work well with --diff-filter. + (merge jk/diff-not-so-quick later) ---- -exec >/var/tmp/1 -echo O=$(git describe master) -O=v1.7.5-184-g23f536c -git shortlog --no-merges ^maint ^$O master + * "git status -z" did not default to --porcelain output format. + (merge bc/maint-status-z-to-use-porcelain later) |