mirror of
https://github.com/git/git.git
synced 2024-12-06 00:14:36 +08:00
2221a67571
Signed-off-by: Junio C Hamano <gitster@pobox.com>
208 lines
6.9 KiB
Plaintext
208 lines
6.9 KiB
Plaintext
GIT v1.5.4 Release Notes
|
|
========================
|
|
|
|
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:
|
|
|
|
- Using dashed form 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.
|
|
|
|
- Using dashed from 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
|
|
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
|
|
limitation of the latter. Use of post-update hook will be deprecated
|
|
in future versions of git, perhaps in v1.5.5.
|
|
|
|
|
|
Updates since v1.5.3
|
|
--------------------
|
|
|
|
* Comes with much improved gitk.
|
|
|
|
* Comes with git-gui 0.9.0 with i18n.
|
|
|
|
* git-lost-found was deprecated in favor of git-fsck's --lost-found
|
|
option.
|
|
|
|
* git-peek-remote is deprecated, as git-ls-remote was written in C and
|
|
works for all transports.
|
|
|
|
* git-cherry-pick made a misguided attempt to repeat the original
|
|
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.
|
|
|
|
* "progress display" 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
|
|
so lazily, which makes the usual case go much faster.
|
|
|
|
* git-reset is now built-in and its output can be squelched with -q.
|
|
|
|
* git-send-email can optionally talk over ssmtp and use SMTP-AUTH.
|
|
|
|
* git-rebase learned --whitespace option.
|
|
|
|
* In git-rebase, when you decide not to replay a particular change
|
|
after the command stopped with a conflict, you can say "git-rebase
|
|
--skip" without first running "git reset --hard", as the command now
|
|
runs it for you.
|
|
|
|
* git-remote knows --mirror mode.
|
|
|
|
* git-merge can call the "post-merge" hook.
|
|
|
|
* git-pack-objects can optionally run deltification with multiple threads.
|
|
|
|
* git-archive can optionally substitute keywords in files marked with
|
|
export-subst attribute.
|
|
|
|
* git-for-each-ref learned %(xxxdate:<dateformat>) syntax to
|
|
show the various date fields in different formats.
|
|
|
|
* git-gc --auto is a low-impact way to automatically run a
|
|
variant of git-repack that does not lose unreferenced objects
|
|
(read: safer than the usual one) after the user accumulates
|
|
too many loose objects.
|
|
|
|
* You need to explicitly set clean.requireForce to "false" to allow
|
|
git-clean without -f to do any damage (lack of the configuration
|
|
variable used to mean "do not require", but we now use the safer
|
|
default).
|
|
|
|
* git-clean has been rewritten in C.
|
|
|
|
* git-push has been rewritten in C.
|
|
|
|
* git-push learned --dry-run option to show what would happen
|
|
if a push is run.
|
|
|
|
* git-push does not update a tracking ref on the pushing side when the
|
|
remote refused to update the corresponding ref.
|
|
|
|
* git-push learned --mirror option. This is to push the local refs
|
|
one-to-one to the remote, and deletes refs from the remote that do
|
|
not exist anymore in the repository on the pushing side.
|
|
|
|
* git-remote learned "rm" subcommand.
|
|
|
|
* git-rebase --interactive mode can now work on detached HEAD.
|
|
|
|
* git-cvsserver can be run via git-shell.
|
|
|
|
* git-am and git-rebase are far less verbose.
|
|
|
|
* git-pull learned to pass --[no-]ff option to underlying git-merge.
|
|
|
|
* Various Perforce importer updates.
|
|
|
|
* "git log" learned --early-output option to help interactive
|
|
GUI implementations.
|
|
|
|
* git-svnimport was removed in favor of git-svn.
|
|
|
|
* git-bisect learned "skip" action to mark untestable commits.
|
|
|
|
* git-format-patch learned "format.numbered" configuration variable
|
|
to automatically turn --numbered option on when more than one
|
|
commits are formatted.
|
|
|
|
* git-ls-files learned "--exclude-standard" to use the canned
|
|
set of exclude files.
|
|
|
|
* 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 started.
|
|
|
|
* "git-tag -a -f existing" begins the editor session using the
|
|
existing annotation message.
|
|
|
|
* "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 send-email --dry-run" shows full headers for easier
|
|
diagnosis.
|
|
|
|
* "git merge-ours" is built-in.
|
|
|
|
* "git svn" learned "info" and "show-externals" subcommands.
|
|
|
|
* calling "git svn" from a subdirectory failed read settings from the
|
|
.git/config.
|
|
|
|
* "git svn" learned --use-log-author option, which picks up more
|
|
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 checkout" from and to detached HEAD leaves a bit more
|
|
information in the reflog.
|
|
|
|
* Output processing for '--pretty=format:<user format>' has
|
|
been optimized.
|
|
|
|
* 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.
|
|
|
|
* Example update and post-receive hooks have been improved.
|
|
|
|
* A corrupt ref at the remote site can be removed via "git push".
|
|
|
|
* In addition there are quite a few internal clean-ups. Notably
|
|
|
|
- many fork/exec have been replaced with run-command API,
|
|
brought from the msysgit effort.
|
|
|
|
- introduction and more use of the option parser API.
|
|
|
|
- enhancement and more use of the strbuf API.
|
|
|
|
|
|
Fixes since v1.5.3
|
|
------------------
|
|
|
|
All of the fixes in v1.5.3 maintenance series are included in
|
|
this release, unless otherwise noted.
|
|
|
|
* git-svn talking with the SVN over http will correctly quote branch
|
|
and project names.
|
|
|
|
* "git rev-list --objects A..B" choked when the lower boundary
|
|
of the range involved a subproject. This fix is also queued
|
|
for 'maint' (but not in there yet).
|
|
|
|
--
|
|
exec >/var/tmp/1
|
|
O=v1.5.3.7-948-gb52e985
|
|
echo O=`git describe refs/heads/master`
|
|
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
|