X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=Documentation%2FRelNotes-1.5.4.txt;h=c6953ea5153c77629734570f151aba01e65b4e8f;hb=d6da3cdeb70e8819f68fe3c91d3457e53ab365d4;hp=c1ebd6997a1ba4b25d1302f53a9c36aad9959f36;hpb=4eb39e9bcccc54eb23af8a7e2676c63e5bf32866;p=git.git diff --git a/Documentation/RelNotes-1.5.4.txt b/Documentation/RelNotes-1.5.4.txt index c1ebd6997..c6953ea51 100644 --- a/Documentation/RelNotes-1.5.4.txt +++ b/Documentation/RelNotes-1.5.4.txt @@ -7,41 +7,55 @@ Removal * "git svnimport" was removed in favor of "git svn". It is still there in the source tree (contrib/examples) but unsupported. + * As git-commit and git-status have been rewritten, "git runstatus" + helper script lost all its users and has been removed. + Deprecation notices ------------------- - * Next feature release of git (this change is scheduled for v1.5.5 but - it could slip) will by default install dashed form of commands - (e.g. "git-commit") outside of users' normal $PATH, and will install - only selected commands ("git" itself, and "gitk") in $PATH. This - implies: + * The next feature release of git (this change is scheduled for v1.6.0) + will by default install dashed form of commands (e.g. "git-commit") + outside of users' normal $PATH, and will install only selected + commands ("git" itself, and "gitk") in $PATH. This implies: - - Using dashed form of git commands (e.g. "git-commit") from the + - Using dashed forms of git commands (e.g. "git-commit") from the command line has been informally deprecated since early 2006, but now it officially is, and will be removed in the future. Use - dashless form (e.g. "git commit") instead. + dashless forms (e.g. "git commit") instead. - - Using dashed from from your scripts, without first prepending the + - Using dashed forms from your scripts, without first prepending the return value from "git --exec-path" to the scripts' PATH, has been informally deprecated since early 2006, but now it officially is. - - Use of dashed form with "PATH=$(git --exec-path):$PATH; export + - Use of dashed forms with "PATH=$(git --exec-path):$PATH; export PATH" early in your script is not deprecated with this change. Users are strongly encouraged to adjust their habits and scripts now to prepare for this. * The post-receive hook was introduced in March 2007 to supersede - post-update hook, primarily to overcome the command line length + the post-update hook, primarily to overcome the command line length limitation of the latter. Use of post-update hook will be deprecated - in future versions of git, perhaps in v1.5.5. + in future versions of git, starting from v1.6.0. * "git lost-found" was deprecated in favor of "git fsck"'s --lost-found option, and will be removed in the future. * "git peek-remote" is deprecated, as "git ls-remote" was written in C - and works for all transports, and will be removed in the future. + and works for all transports; "git peek-remote" will be removed in + the future. + + * From v1.6.0, the repack.usedeltabaseoffset config option will default + to true, which will give denser packfiles (i.e. more efficient storage). + The downside is that git older than version 1.4.4 will not be able + to directly use a repository packed using this setting. + + * From v1.6.0, the pack.indexversion config option will default to 2, + which is slightly more efficient, and makes repacking more immune to + data corruptions. Git older than version 1.5.2 may revert to version 1 + of the pack index with a manual "git index-pack" to be able to directly + access corresponding pack files. Updates since v1.5.3 @@ -54,7 +68,7 @@ Updates since v1.5.3 * gitk is now merged as a subdirectory of git.git project, in preparation for its i18n. - * progress display from many commands are a lot nicer to the eye. + * progress displays from many commands are a lot nicer to the eye. Transfer commands show throughput data. * many commands that pay attention to per-directory .gitignore now do @@ -63,17 +77,30 @@ Updates since v1.5.3 * Output processing for '--pretty=format:' has been optimized. - * Rename detection of diff family, while detecting exact matches, has + * Rename detection of diff family while detecting exact matches has been greatly optimized. - * Rename detection of diff family tries to make more naturally looking - pairing. Earlier if more than one identical rename sources were - found in the preimage, they were picked pretty much at random. + * Rename detection of diff family tries to make more natural looking + pairing. Earlier, if multiple identical rename sources were + found in the preimage, the source used was picked pretty much at random. * Value "true" for color.diff and color.status configuration used to mean "always" (even when the output is not going to a terminal). This has been corrected to mean the same thing as "auto". + * "git diff" Porcelain now respects diff.external configuration, which + is another way to specify GIT_EXTERNAL_DIFF. + + * "git diff" can be told to use different prefixes other than + "a/" and "b/" e.g. "git diff --src-prefix=l/ --dst-prefix=k/". + + * "git diff" sometimes did not quote paths with funny + characters properly. + + * "git log" (and any revision traversal commands) misbehaved + when --diff-filter is given but was not asked to actually + produce diff. + * HTTP proxy can be specified per remote repository using remote.*.httpproxy configuration, or global http.proxy configuration variable. @@ -87,6 +114,9 @@ Updates since v1.5.3 * "git reset" is now built-in and its output can be squelched with -q. + * "git reset --hard" does not make any sense in a bare + repository, but did not error out; fixed. + * "git send-email" can optionally talk over ssmtp and use SMTP-AUTH. * "git rebase" learned --whitespace option. @@ -98,6 +128,8 @@ Updates since v1.5.3 * "git rebase --interactive" mode can now work on detached HEAD. + * Other minor to serious bugs in "git rebase -i" have been fixed. + * "git rebase" now detaches head during its operation, so after a successful "git rebase" operation, the reflog entry branch@{1} for the current branch points at the commit before the rebase was @@ -132,6 +164,10 @@ Updates since v1.5.3 variable used to mean "do not require -f option to lose untracked files", but we now use the safer default). + * The kinds of whitespace errors "git diff" and "git apply" notice (and + fix) can be controlled via 'core.whitespace' configuration variable + and 'whitespace' attribute in .gitattributes file. + * "git push" learned --dry-run option to show what would happen if a push is run. @@ -153,7 +189,9 @@ Updates since v1.5.3 * "git remote" learned "rm" subcommand. - * "git cvsserver" can be run via "git shell". + * "git cvsserver" can be run via "git shell". Also, "cvs" is + recognized as a synonym for "git cvsserver", so that CVS users + can be switched to git just by changing their login shell. * "git cvsserver" acts more like receive-pack by running post-receive and post-update hooks. @@ -183,6 +221,10 @@ Updates since v1.5.3 * "git commit --amend" can amend a merge that does not change the tree from its first parent. + * "git commit" used to unconditionally strip comment lines that + began with '#' and removed excess blank lines. This + behaviour has been made configurable. + * "git commit" has been rewritten in C. * "git stash random-text" does not create a new stash anymore. It was @@ -200,6 +242,12 @@ Updates since v1.5.3 * "git bisect" learned "skip" action to mark untestable commits. + * "git bisect visualize" learned a shorter synonym "git bisect view". + + * "git bisect visualize" runs "git log" in a non-windowed + environments. It also can be told what command to run (e.g. "git + bisect visualize tig"). + * "git format-patch" learned "format.numbered" configuration variable to automatically turn --numbered option on when more than one commits are formatted. @@ -214,12 +262,24 @@ Updates since v1.5.3 "git commit"; the parameters to -m options are formatted as separate paragraphs. + * The format "git show" outputs an annotated tag has been updated to + include "Tagger: " and "Date: " lines from the tag itself. Strictly + speaking this is a backward incompatible change, but this is a + reasonable usability fix and people's scripts shouldn't have been + relying on the exact output from "git show" Porcelain anyway. + + * "git cvsimport" did not notice errors from underlying "cvsps" + and produced a corrupt import silently. + * "git cvsexportcommit" learned -w option to specify and switch to the CVS working directory. * "git checkout" from a subdirectory learned to use "../path" to allow checking out a path outside the current directory without cd'ing up. + * "git checkout" from and to detached HEAD leaves a bit more + information in the reflog. + * "git send-email --dry-run" shows full headers for easier diagnosis. * "git merge-ours" is now built-in. @@ -233,11 +293,29 @@ Updates since v1.5.3 descriptive name from From: and Signed-off-by: lines in the commit message. - * "git status" from a subdirectory now shows relative paths which makes - copy-and-pasting for git-checkout/git-add/git-rm easier. + * "git svn" wasted way too much disk to record revision mappings + between svn and git; a new representation that is much more compact + for this information has been introduced to correct this. - * "git checkout" from and to detached HEAD leaves a bit more - information in the reflog. + * "git svn" left temporary index files it used without cleaning them + up; this was corrected. + + * "git status" from a subdirectory now shows relative paths, which + makes copy-and-pasting for git-checkout/git-add/git-rm easier. The + traditional behaviour to show the full path relative to the top of + the work tree can be had by setting status.relativepaths + configuration variable to false. + + * "git blame" kept text for each annotated revision in core needlessly; + this has been corrected. + + * "git shortlog" learned to default to HEAD when the standard input is + a terminal and the user did not give any revision parameter. + + * "git shortlog" learned "-e" option to show e-mail addresses as well as + authors' names. + + * "git help" learned "-w" option to show documentation in browsers. * In addition there are quite a few internal clean-ups. Notably @@ -258,6 +336,9 @@ this release, unless otherwise noted. These fixes are only in v1.5.4 and not backported to v1.5.3 maintenance series. + * The way "git diff --check" behaves is much more consistent with the way + "git apply --whitespace=warn" works. + * "git svn" talking with the SVN over http will correctly quote branch and project names. @@ -266,6 +347,6 @@ series. -- exec >/var/tmp/1 -O=v1.5.3.7-1111-gd9f4059 +O=v1.5.4-rc2-37-ge0cd252 echo O=`git describe refs/heads/master` git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint