Git 2.1.0-rc0
[gitweb.git] / Documentation / RelNotes / 2.1.0.txt
index 3b65461c0b5a4384fbe28dfbd0e3a30e9a9a533a..be598ad7a2dee782004a854936e5e7aa2e4bac73 100644 (file)
@@ -49,6 +49,12 @@ UI, Workflows & Features
    enabled, allowing modern platforms to take advantage of the
    multiple cores they have.
 
+ * "git clone" applies the "if cloning from a local disk, physically
+   copy repository using hardlinks, unless otherwise told not to with
+   --no-local" optimization when url.*.insteadOf mechanism rewrites a
+   "git clone $URL" that refers to a repository over the network to a
+   clone from a local disk.
+
  * "git commit --date=<date>" option learned to read from more
    timestamp formats, including "--date=now".
 
@@ -93,7 +99,11 @@ UI, Workflows & Features
    users need to explicitly set the variable to 'true' if they want
    to resurrect the now-ignored use case.
 
- * "git replace" learned the "--edit" subcommand.
+ * "git replace" learned the "--edit" subcommand to create a
+   replacement by editing an existing object.
+
+ * "git replace" learned a "--graft" option to rewrite parents of a
+   commit.
 
  * "git send-email" learned "--to-cover" and "--cc-cover" options, to
    tell it to copy To: and Cc: headers found in the first input file
@@ -106,6 +116,10 @@ UI, Workflows & Features
  * "git tag" when editing the tag message shows the name of the tag
    being edited as a comment in the editor.
 
+ * "git tag" learned to pay attention to "tag.sort" configuration, to
+   be used as the default sort order when no --sort=<value> the option
+   is given.
+
  * "git verify-commit" command to check GPG signature in signed
    commits, in a way similar to "git verify-tag" is used to check
    signed tags, was added.
@@ -115,6 +129,14 @@ Performance, Internal Implementation, etc.
 
  * Build procedure for 'subtree' (in contrib/) has been cleaned up.
 
+ * The support for the profile-feedback build, which has been left
+   bit-rotten for quite a while, has been updated.
+
+ * An experimental format to use two files (the base file and
+   incremental changes relative to it) to represent the index has been
+   introduced; this may reduce I/O cost of rewriting a large index
+   when only small part of the working tree changes.
+
  * Effort to shrink the size of patches Windows folks maintain on top
    by upstreaming them continues.
 
@@ -141,6 +163,9 @@ Performance, Internal Implementation, etc.
    example, "update-ref --stdin [-z]" has been updated to use this
    API.
 
+ * skip_prefix() and strip_suffix() API functions are used a lot more
+   widely throughout the codebase now.
+
  * Parts of the test scripts can be skipped by using a range notation,
    e.g. "sh t1234-test.sh --run='1-4 6 8-'" to omit test piece 5 and 7
    and run everything else.
@@ -185,6 +210,7 @@ notes for details).
  * Code to avoid adding the same alternate object store twice was
    subtly broken for a long time, but nobody seems to have noticed.
    (merge 80b4785 rs/fix-alt-odb-path-comparison later to maint).
+   (merge 539e750 ek/alt-odb-entry-fix later to maint).
 
  * The "%<(10,trunc)%s" pretty format specifier in the log family of
    commands is used to truncate the string to a given length (e.g. 10
@@ -213,6 +239,16 @@ notes for details).
    couple of options unique to "git merge".
    (merge 8fee872 jk/complete-merge-pull later to maint).
 
+ * The unix-domain socket used by the sample credential cache daemon
+   tried to unlink an existing stale one at a wrong path, if the path
+   to the socket was given as an overlong path that does not fit in
+   sun_path member of the sockaddr_un structure.
+   (merge 2869b3e rs/fix-unlink-unix-socket later to maint).
+
+ * An ancient rewrite passed a wrong pointer to a curl library
+   function in a rarely used code path.
+   (merge 479eaa8 ah/fix-http-push later to maint).
+
  * "--ignore-space-change" option of "git apply" ignored the spaces
    at the beginning of line too aggressively, which is inconsistent
    with the option of the same name "diff" and "git diff" have.
@@ -242,6 +278,11 @@ notes for details).
    bit.
    (merge 5304810 jk/diff-files-assume-unchanged later to maint).
 
+ * "filter-branch" left an empty single-parent commit that results when
+   all parents of a merge commit gets mapped to the same commit, even
+   under "--prune-empty".
+   (merge 79bc4ef cb/filter-branch-prune-empty-degenerate-merges later to maint).
+
  * "git format-patch" did not enforce the rule that the "--follow"
    option from the log/diff family of commands must be used with
    exactly one pathspec.
@@ -267,6 +308,13 @@ notes for details).
    distinguish missing objects from type errors.
    (merge 77583e7 jk/index-pack-report-missing later to maint).
 
+ * "log --show-signature" incorrectly decided the color to paint a
+   mergetag that was and was not correctly validated.
+   (merge 42c55ce mg/fix-log-mergetag-color later to maint).
+
+ * "log --show-signature" did not pay attention to "--graph" option.
+   (merge cf3983d zk/log-graph-showsig later to maint).
+
  * "git mailinfo" used to read beyond the end of header string while
    parsing an incoming e-mail message to extract the patch.
    (merge b1a013d rs/mailinfo-header-cmp later to maint).
@@ -276,6 +324,11 @@ notes for details).
    except for case differences.
    (merge baa37bf dt/merge-recursive-case-insensitive later to maint).
 
+ * Merging changes into a file that ends in an incomplete line made the
+   last line into a complete one, even when the other branch did not
+   change anything around the end of file.
+   (merge ba31180 mk/merge-incomplete-files later to maint).
+
  * "git pack-objects" unnecessarily copied the previous contents when
    extending the hashtable, even though it will populate the table
    from scratch anyway.
@@ -306,6 +359,9 @@ notes for details).
    emptying the insn sheet.
    (merge ddb5432 rr/rebase-autostash-fix later to maint).
 
+ * "git rebase --fork-point" did not filter out patch-identical
+   commits correctly.
+
  * During "git rebase --merge", a conflicted patch could not be
    skipped with "--skip" if the next one also conflicted.
    (merge 95104c7 bc/fix-rebase-merge-skip later to maint).