1 Git v1.7.5 Release Notes
 
   2 ========================
 
   7  * Various MinGW portability fixes.
 
   9  * Various git-p4 enhancements (in contrib).
 
  11  * Various vcs-svn, git-svn and gitk enhancements and fixes.
 
  13  * Various git-gui updates (0.14.0).
 
  15  * Update to more modern HP-UX port.
 
  17  * The codebase is getting prepared for i18n/l10n; no translated
 
  18    strings nor translation mechanism in the code yet, but the strings
 
  19    are being marked for l10n.
 
  21  * The bash completion script can now complete symmetric difference
 
  22    for "git diff" command, e.g. "git diff ...bra<TAB>".
 
  24  * The default minimum length of abbreviated and unique object names
 
  25    can now be configured by setting the core.abbrev configuration
 
  28  * "git apply -v" reports offset lines when the patch does not apply at
 
  29    the exact location recorded in the diff output.
 
  31  * "git config" used to be also known as "git repo-config", but the old
 
  32    name is now officially deprecated.
 
  34  * "git checkout --detach <commit>" is a more user friendly synonym for
 
  35    "git checkout <commit>^0".
 
  37  * "git checkout" performed on detached HEAD gives a warning and
 
  38    advice when the commit being left behind will become unreachable from
 
  41  * "git cherry-pick" and "git revert" can be told to use a custom merge
 
  42    strategy, similar to "git rebase".
 
  44  * "git cherry-pick" remembers which commit failed to apply when it is
 
  45    stopped by conflicts, making it unnecessary to use "commit -c $commit"
 
  48  * "git cvsimport" bails out immediately when the cvs server cannot be
 
  49    reached, without spewing unnecessary error messages that complain about
 
  50    the server response it never got.
 
  52  * "git fetch" vs "git upload-pack" transfer learned 'no-done'
 
  53    protocol extension to save one round-trip after the content
 
  54    negotiation is done. This saves one HTTP RPC, reducing the overall
 
  55    latency for a trivial fetch.
 
  57  * "git fetch" can be told to recursively fetch submodules on-demand.
 
  59  * "git grep -f <filename>" learned to treat "-" as "read from the
 
  60    standard input stream".
 
  62  * "git grep --no-index" did not honor pathspecs correctly, returning
 
  63    paths outside the specified area.
 
  65  * "git init" learned the --separate-git-dir option to allow the git
 
  66    directory for a new repository created elsewhere and linked via the
 
  67    gitdir mechanism. This is primarily to help submodule support later
 
  68    to switch between a branch of superproject that has the submodule
 
  69    and another that does not.
 
  71  * "git log" type commands now understand globbing pathspecs.  You
 
  72    can say "git log -- '*.txt'" for example.
 
  74  * "git log" family of commands learned --cherry and --cherry-mark
 
  75    options that can be used to view two diverged branches while omitting
 
  76    or highlighting equivalent changes that appear on both sides of a
 
  77    symmetric difference (e.g. "log --cherry A...B").
 
  79  * A lazy "git merge" that didn't say what to merge used to be an error.
 
  80    When run on a branch that has an upstream defined, however, the command
 
  81    now merges from the configured upstream.
 
  83  * "git mergetool" learned how to drive "beyond compare 3" as well.
 
  85  * "git rerere forget" without pathspec used to forget all the saved
 
  86    conflicts that relate to the current merge; it now requires you to
 
  89  * "git rev-list --objects $revs -- $pathspec" now limits the objects listed
 
  90    in its output properly with the pathspec, in preparation for narrow
 
  93  * "git push" with no parameters gives better advice messages when
 
  94    "tracking" is used as the push.default semantics or there is no remote
 
  97  * A possible value to the "push.default" configuration variable,
 
  98    'tracking', gained a synonym that more naturally describes what it
 
 101  * "git rerere" learned a new subcommand "remaining" that is similar to
 
 102    "status" and lists the paths that had conflicts which are known to
 
 103    rerere, but excludes the paths that have already been marked as
 
 104    resolved in the index from its output.  "git mergetool" has been
 
 105    updated to use this facility.
 
 107 Also contains various documentation updates.
 
 113 All of the fixes in the v1.7.4.X maintenance series are included in this
 
 114 release, unless otherwise noted.
 
 116  * "git fetch" from a client that is mostly following the remote
 
 117    needlessly told all of its refs to the server for both sides to
 
 118    compute the set of objects that need to be transferred efficiently,
 
 119    instead of stopping when the server heard enough. In a project with
 
 120    many tags, this turns out to be extremely wasteful, especially over
 
 121    the smart HTTP transport (sp/maint-{upload,fetch}-pack-stop-early~1).
 
 123  * "git fetch" run from a repository that uses the same repository as
 
 124    its alternate object store as the repository it is fetching from
 
 125    did not tell the server that it already has access to objects
 
 126    reachable from the refs in their common alternate object store,
 
 127    causing it to fetch unnecessary objects (jc/maint-fetch-alt).
 
 129  * "git remote add --mirror" created a configuration that is suitable for
 
 130    doing both a mirror fetch and a mirror push at the same time, which
 
 131    made little sense.  We now warn and require the command line to specify
 
 132    either --mirror=fetch or --mirror=push.