]> asedeno.scripts.mit.edu Git - git.git/blobdiff - Documentation/RelNotes-1.5.4.txt
Update draft release notes for 1.5.4
[git.git] / Documentation / RelNotes-1.5.4.txt
index 93fb9c914c38388b3b1db11d2b6e63183a9bb952..192766f868f4669b7cedc5baa4c119a39fc602b5 100644 (file)
@@ -1,20 +1,70 @@
 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.
@@ -32,11 +82,25 @@ Updates since v1.5.3
    (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.
@@ -49,18 +113,70 @@ Updates since v1.5.3
 
  * Various Perforce importer updates.
 
- * git-lost-found was deprecated in favor of git-fsck's --lost-found
-   option.
+ * "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.
 
- * rename detection diff family, while detecting exact matches,
-   has been greatly optimized.
+ * 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,
@@ -77,8 +193,15 @@ 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.5-618-g5d4138a
+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