GIT v1.5.4 Release Notes ======================== 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. * "progress display" from many commands are a lot nicer to the eye. Transfer commands show throughput data. * 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:) 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" subcommand. * "git status" from a subdirectory now shows relative paths which makes copy-and-pasting for git-checkout/git-add/git-rm easier. * Output processing for '--pretty=format:' has been optimized. * Rename detection diff family, while detecting exact matches, has been greatly optimized. * Example update and post-receive hooks have been improved. * 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.6-950-gda03a58 echo O=`git describe refs/heads/master` git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint