X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2FRelNotes-1.5.4.txt;h=f1323b61746ee5d7f2a9d2fc3835c2cd75e76434;hb=6070bac82a1e9c61d86f8ad2fb282ebb62d1c5d6;hp=7386e66dc9f80eb7a9cafba3f637f04eaef21e14;hpb=cd1bea918bde5b32cf29159acac067bd238825b3;p=git.git diff --git a/Documentation/RelNotes-1.5.4.txt b/Documentation/RelNotes-1.5.4.txt index 7386e66dc..f1323b617 100644 --- a/Documentation/RelNotes-1.5.4.txt +++ b/Documentation/RelNotes-1.5.4.txt @@ -7,54 +7,85 @@ 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. + + +Temporarily disabled +-------------------- + + * "git http-push" is known not to work well with cURL library older + than 7.16, and we had reports of repository corruption. It is + disabled on such platforms for now. Unfortunately, 1.5.3.8 shares + the same issue. In other words, this does not mean you will be + fine if you stick to an older git release. For now, please do not + use http-push from older git with cURL older than 7.16 if you + value your data. A proper fix will hopefully materialize in + later versions. + 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 + * From v1.6.0, git 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. + dash-less 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. + Users are strongly encouraged to adjust their habits and scripts now + to prepare for this change. * 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. + + * "git repo-config" which was an old name for "git config" command + has been supported without being advertised for a long time. The + next feature release will remove it. + + * 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 -------------------- - * Comes with much improved gitk. + * Comes with much improved gitk, with i18n. - * Comes with "git gui" 0.9.1 with i18n. + * Comes with git-gui 0.9.2 with i18n. * 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 +94,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 +131,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 +145,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 @@ -117,7 +166,7 @@ Updates since v1.5.3 command line in the generated log message, when told to cherry-pick a commit by naming a tag that points at it. It does not anymore. - * "git for-each-ref" learned %(xxxdate:) syntax to show the + * "git for-each-ref" learned %(xxxdate:) syntax to show the various date fields in different formats. * "git gc --auto" is a low-impact way to automatically run a variant of @@ -157,7 +206,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. @@ -170,7 +221,7 @@ Updates since v1.5.3 * "git pull --rebase" is a different way to integrate what you fetched into your current branch. - * "git fast-export" produces datastream that can be fed to fast-import + * "git fast-export" produces data-stream that can be fed to fast-import to reproduce the history recorded in a git repository. * "git add -i" takes pathspecs to limit the set of files to work on. @@ -178,7 +229,10 @@ Updates since v1.5.3 * "git add -p" is a short-hand to go directly to the selective patch subcommand in the interactive command loop and to exit when done. - * "git add -i" UI has been colorized. + * "git add -i" UI has been colorized. The interactive prompt + and menu can be colored by setting color.interactive + configuration. The diff output (including the hunk picker) + are colored with color.diff configuration. * "git commit --allow-empty" allows you to create a single-parent commit that records the same tree as its parent, overriding the usual @@ -187,12 +241,21 @@ 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 behavior has + been made configurable. + * "git commit" has been rewritten in C. * "git stash random-text" does not create a new stash anymore. It was a UI mistake. Use "git stash save random-text", or "git stash" (without extra args) for that. + * "git stash clear extra-text" does not clear the whole stash + anymore. It is tempting to expect "git stash clear stash@{2}" + to drop only a single named stash entry, and it is rude to + discard everything when that is asked (but not provided). + * "git prune --expire