t9001: style modernisation phase #3
[gitweb.git] / Documentation / RelNotes / 2.2.0.txt
index 8d413feb8c242bb1a783cd69cad5c5d04c3ba395..e47e6ca8d4a2f87b06c0484d475d09cc6e6f68ec 100644 (file)
@@ -9,6 +9,11 @@ Ports
  * Building on older MacOS X systems automatically sets
    the necessary NO_APPLE_COMMON_CRYPTO build-time option.
 
+ * The support to build with NO_PTHREADS has been resurrected.
+
+ * Compilation options has been updated a bit to support z/OS port
+   better.
+
 
 UI, Workflows & Features
 
@@ -23,7 +28,7 @@ UI, Workflows & Features
  * "git stash list -p" used to be almost always a no-op because each
    stash entry is represented as a merge commit.  It learned to show
    the difference between the base commit version and the working tree
-   version, which is in line with what "git show" gives.
+   version, which is in line with what "git stash show" gives.
 
  * Sometimes users want to report a bug they experience on their
    repository, but they are not at liberty to share the contents of
@@ -31,10 +36,19 @@ UI, Workflows & Features
    to replace blob contents, names of people and paths and log
    messages with bland and simple strings to help them.
 
+ * "git difftool" learned an option to stop feeding paths to the
+   diff backend when it exits with a non-zero status.
+
+ * "git grep" allows to paint (or not paint) partial matches on
+   context lines when showing "grep -C<num>" output in color.
+
  * "log --date=iso" uses a slight variant of ISO 8601 format that is
    made more human readable.  A new "--date=iso-strict" option gives
    datetime output that is more strictly conformant.
 
+ * The logic "git prune" uses is more resilient against various corner
+   cases.
+
  * A broken reimplementation of Git could write an invalid index that
    records both stage #0 and higher stage entries for the same path.
    We now notice and reject such an index, as there is no sensible
@@ -45,12 +59,16 @@ UI, Workflows & Features
  * The temporary files "git mergetool" uses are named to avoid too
    many dots in them (e.g. a temporary file for "hello.c" used to be
    named e.g. "hello.BASE.4321.c" but now uses underscore instead,
-   e.g. "hello_BASE_4321.c").
+   e.g. "hello_BASE_4321.c", to allow us to have multiple variants).
 
- * The temporary files "git mergetools" uses can be placed in a newly
-   creted temporary directory, instead of the current directory, by
+ * The temporary files "git mergetool" uses can be placed in a newly
+   created temporary directory, instead of the current directory, by
    setting the mergetool.writeToTemp configuration variable.
 
+ * "git mergetool" understands "--tool bc" now, as version 4 of
+   BeyondCompare can be driven the same way as its version 3 and it
+   feels awkward to say "--tool bc3" to run version 4.
+
  * The "pre-receive" and "post-receive" hooks are no longer required
    to consume their input fully (not following this requirement used
    to result in intermittent errors in "git push").
@@ -67,15 +85,18 @@ UI, Workflows & Features
    public repository really point the commits the pusher wanted to,
    without having to "trust" the server.
 
- * "git interpret-trailers" is a new filter to programatically edit
-    the tail end of the commit log messages.
+ * "git interpret-trailers" is a new filter to programmatically edit
+    the tail end of the commit log messages, e.g. "Signed-off-by:".
 
  * "git help everyday" shows the "Everyday Git in 20 commands or so"
-   document, whose contents have been updated to more modern Git
-   practice.
+   document, whose contents have been updated to match more modern
+   Git practice.
+
+ * On the "git svn" front, work to reduce memory consumption and
+   to improve handling of mergeinfo progresses.
 
 
-Performance, Internal Implementation, etc.
+Performance, Internal Implementation, Development Support etc.
 
  * The API to manipulate the "refs" has been restructured to make it
    more transactional, with the eventual goal to allow all-or-none
@@ -97,8 +118,8 @@ Performance, Internal Implementation, etc.
 
  * There are cases where you lock and open to write a file, close it
    to show the updated contents to external processes, and then have
-   to update the file again while still holding the lock, but the
-   lockfile API lacked support for such an access pattern.
+   to update the file again while still holding the lock; now the
+   lockfile API has support for such an access pattern.
 
  * The API to allocate the structure to keep track of commit
    decoration has been updated to make it less cumbersome to use.
@@ -144,6 +165,15 @@ Performance, Internal Implementation, etc.
  * The scripts in the test suite can be run with "-x" option to show
    a shell-trace of each command run in them.
 
+ * The "run-command" API learned to manage the argv and environment
+   arrays for child process, alleviating the need for the callers to
+   allocate and deallocate them.
+
+ * Some people use AsciiDoctor, instead of AsciiDoc, to format our
+   documentation set; the documentation has been adjusted to be usable
+   by both, as AsciiDoctor is pickier than AsciiDoc in its input
+   mark-up.
+
 
 Also contains various documentation updates and code clean-ups.
 
@@ -261,3 +291,22 @@ notes for details).
  * Newer versions of 'meld' breaks the auto-detection we use to see if
    they are new enough to support the `--output` option.
    (merge b12d045 da/mergetool-meld later to maint).
+
+ * "git pack-objects" forgot to disable the codepath to generate
+   object reachability bitmap when it needs to split the resulting
+   pack.
+   (merge 2113471 jk/pack-objects-no-bitmap-when-splitting later to maint).
+
+ * The code to use cache-tree trusted the on-disk data too much and
+   fell into an infinite loop upon seeing an incorrectly recorded
+   index file.
+   (merge 729dbbd jk/cache-tree-protect-from-broken-libgit2 later to maint).
+
+ * "git fetch" into a repository where branch B was deleted earlier
+   back when it had reflog enabled, and then branch B/C is fetched
+   into it without reflog enabled, which is arguably an unlikely
+   corner case, unnecessarily failed.
+   (merge aae828b jk/fetch-reflog-df-conflict later to maint).
+
+ * "git log --first-parent -L..." used to crash.
+   (merge a8787c5 tm/line-log-first-parent later to maint).