read-tree --debug-unpack
[gitweb.git] / Documentation / RelNotes-1.5.4.txt
index cd79124958cd4559b3f795864dac208ef1844b07..f1323b61746ee5d7f2a9d2fc3835c2cd75e76434 100644 (file)
@@ -11,31 +11,44 @@ Removal
    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.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:
+ * 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, starting from v1.6.0.
 
@@ -43,10 +56,15 @@ Deprecation notices
    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 packfile (i.e. more efficient storage).
+   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.
 
@@ -60,14 +78,14 @@ Deprecation notices
 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
@@ -76,12 +94,12 @@ Updates since v1.5.3
  * 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).
@@ -90,6 +108,16 @@ Updates since v1.5.3
  * "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.
@@ -103,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.
@@ -114,7 +145,7 @@ Updates since v1.5.3
 
  * "git rebase --interactive" mode can now work on detached HEAD.
 
- * Other minor to serious bugs in "git rebase -i" has been fixed.
+ * 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
@@ -135,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:<dateformat>) syntax to show the
+ * "git for-each-ref" learned %(xxxdate:<date-format>) syntax to show the
    various date fields in different formats.
 
  * "git gc --auto" is a low-impact way to automatically run a variant of
@@ -175,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.
@@ -188,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.
@@ -196,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
@@ -205,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 <time>" can exempt young loose objects from
    getting pruned.
 
@@ -245,9 +290,12 @@ Updates since v1.5.3
  * 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 script shouldn't have been
+   reasonable usability fix and people's scripts shouldn't have been
    relying on the exact output from "git show" Porcelain anyway.
 
+ * "git cvsimport" did not notice errors from underlying "cvsps"
+   and produced a corrupt import silently.
+
  * "git cvsexportcommit" learned -w option to specify and switch to the
    CVS working directory.
 
@@ -279,9 +327,9 @@ Updates since v1.5.3
 
  * "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
+   traditional behavior 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.
@@ -294,7 +342,7 @@ Updates since v1.5.3
 
  * "git help" learned "-w" option to show documentation in browsers.
 
- * In addition there are quite a few internal clean-ups. Notably
+ * 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.
@@ -303,6 +351,7 @@ Updates since v1.5.3
 
    - enhancement and more use of the strbuf API.
 
+ * Makefile tweaks to support HP-UX is in.
 
 Fixes since v1.5.3
 ------------------
@@ -316,14 +365,13 @@ 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
+ * "git svn" talking with the SVN over HTTP will correctly quote branch
    and project names.
 
  * "git config" did not work correctly on platforms that define
    REG_NOMATCH to an even number.
 
---
-exec >/var/tmp/1
-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
+ * Recent versions of AsciiDoc 8 has a change to break our
+   documentation; a workaround has been implemented.
+
+ * "git diff --color-words" colored context lines in a wrong color.