merge-recursive --renormalize
[gitweb.git] / Documentation / RelNotes-1.7.0.txt
index 997b026a735820359e5c44f5950a1a01ecddebe3..43e3f336150e1869bdae01823471d7ab216584a8 100644 (file)
@@ -4,7 +4,7 @@ Git v1.7.0 Release Notes
 Notes on behaviour change
 -------------------------
 
- * "git push" into a branch that is currently checked out (i.e. pointed by
+ * "git push" into a branch that is currently checked out (i.e. pointed at by
    HEAD in a repository that is not bare) is refused by default.
 
    Similarly, "git push $there :$killed" to delete the branch $killed
@@ -19,18 +19,18 @@ Notes on behaviour change
    patch series with more than two messages.  All messages will be sent
    as a reply to the first message, i.e. cover letter.
 
-   It has been possible to configure send-email to send "shallow thread"
+   It has been possible already to configure send-email to send "shallow thread"
    by setting sendemail.chainreplyto configuration variable to false.  The
    only thing this release does is to change the default when you haven't
    configured that variable.
 
  * "git status" is not "git commit --dry-run" anymore.  This change does
-   not affect you if you run the command without pathspec.
+   not affect you if you run the command without argument.
 
  * "git diff" traditionally treated various "ignore whitespace" options
    only as a way to filter the patch output.  "git diff --exit-code -b"
    exited with non-zero status even if all changes were about changing the
-   ammount of whitespace and nothing else.  and "git diff -b" showed the
+   amount of whitespace and nothing else;  and "git diff -b" showed the
    "diff --git" header line for such a change without patch text.
 
    In this release, the "ignore whitespaces" options affect the semantics
@@ -38,6 +38,19 @@ Notes on behaviour change
    whitespaces is reported with zero exit status when run with
    --exit-code, and there is no "diff --git" header for such a change.
 
+ * External diff and textconv helpers are now executed using the shell.
+   This makes them consistent with other programs executed by git, and
+   allows you to pass command-line parameters to the helpers. Any helper
+   paths containing spaces or other metacharacters now need to be
+   shell-quoted.  The affected helpers are GIT_EXTERNAL_DIFF in the
+   environment, and diff.*.command and diff.*.textconv in the config
+   file.
+
+ * The --max-pack-size argument to 'git repack', 'git pack-objects', and
+   'git fast-import' was assuming the provided size to be expressed in MiB,
+   unlike the corresponding config variable and other similar options accepting
+   a size value.  It is now expecting a size expressed in bytes, with a possible
+   unit suffix of 'k', 'm', or 'g'.
 
 Updates since v1.6.6
 --------------------
@@ -50,7 +63,9 @@ Updates since v1.6.6
 
  * "git svn" support of subversion "merge tickets" and miscellaneous fixes.
 
- * "gitk" updates.
+ * "gitk" and "git gui" translation updates.
+
+ * "gitweb" updates (code clean-up, load checking etc.)
 
 (portability)
 
@@ -91,7 +106,9 @@ Updates since v1.6.6
    defaults to the current branch, so "git fetch && git merge @{upstream}"
    will be equivalent to "git pull".
 
- * "git branch --set-upstream" can be used to update the (surprise!) upstream
+ * "git am --resolved" has a synonym "git am --continue".
+
+ * "git branch --set-upstream" can be used to update the (surprise!) upstream,
    i.e. where the branch is supposed to pull and merge from (or rebase onto).
 
  * "git checkout A...B" is a way to detach HEAD at the merge base between
@@ -118,10 +135,7 @@ Updates since v1.6.6
  * "git fetch --all" can now be used in place of "git remote update".
 
  * "git grep" does not rely on external grep anymore.  It can use more than
-   one threads to accelerate the operation.
-
- * "git grep" learned "--no-index" option, to search inside contents that
-   are not managed by git.
+   one thread to accelerate the operation.
 
  * "git grep" learned "--quiet" option.
 
@@ -147,13 +161,13 @@ Updates since v1.6.6
  * "git rebase --onto A...B" means the history is replayed on top of the
    merge base between A and B.
 
- * "git rebase -i" learned new action "fixup", that squashes the change
+ * "git rebase -i" learned new action "fixup" that squashes the change
    but does not affect existing log message.
 
- * "git rebase -i" also learned --autosquash option, that is useful
+ * "git rebase -i" also learned --autosquash option that is useful
    together with the new "fixup" action.
 
- * "git remote" learned set-url subcommand, to update (surprise!) url
+ * "git remote" learned set-url subcommand that updates (surprise!) url
    for an existing remote nickname.
 
  * "git rerere" learned "forget path" subcommand.  Together with "git
@@ -175,6 +189,9 @@ Updates since v1.6.6
 
  * Many more commands are now built-in.
 
+ * THREADED_DELTA_SEARCH is no more.  If you build with threads, delta
+   compression will always take advantage of it.
+
 Fixes since v1.6.6
 ------------------
 
@@ -185,20 +202,13 @@ release, unless otherwise noted.
    the branch is fully merged to its upstream branch if it is not merged
    to the current branch.  It now deletes it in such a case.
 
- * "git config -f <relative path>" run from a subdirectory misbehaved.
-   65807ee (builtin-config: Fix crash when using "-f <relative path>"
-   from non-root dir, 2010-01-26) may be merged to older maintenance
-   branches.
-
- * When "git diff" is asked to compare the work tree with something,
-   it used to consider that a checked-out submodule with uncommitted
-   changes is not modified; this could cause people to forget committing
-   these changes in the submodule before committing in the superproject.
-   It now considers such a change as a modification.
-
---
-exec >/var/tmp/1
-O=v1.7.0-rc0-48-gdace5dd
-O=v1.7.0-rc0-67-gb10b918
-echo O=$(git describe master)
-git shortlog --no-merges $O..master ^maint
+ * "fiter-branch" command incorrectly said --prune-empty and --filter-commit
+   were incompatible; the latter should be read as --commit-filter.
+
+ * When using "git status" or asking "git diff" to compare the work tree
+   with something, they used to consider that a checked-out submodule with
+   uncommitted changes is not modified; this could cause people to forget
+   committing these changes in the submodule before committing in the
+   superproject. They now consider such a change as a modification and
+   "git diff" will append a "-dirty" to the work tree side when generating
+   patch output or when used with the --submodule option.