* "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
* 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
* Output processing for '--pretty=format:<user 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.
+
* HTTP proxy can be specified per remote repository using
remote.*.httpproxy configuration, or global http.proxy configuration
variable.
* "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
* "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.
"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 cvsexportcommit" learned -w option to specify and switch to the
CVS working directory.
descriptive name from From: and Signed-off-by: lines in the commit
message.
+ * "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 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 true.
+ 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
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.
--
exec >/var/tmp/1
-O=v1.5.3.7-1148-gcf7e147
+O=v1.5.4-rc0-85-gdbedf97
echo O=`git describe refs/heads/master`
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint