Home Explore Blog CI



git

3rd chunk of `Documentation/RelNotes/1.6.1.adoc`
3797c0afd1dafd30a6240b36f664da15918e1f4a3bba2bb80000000100000919
 variant of --full-history;
  "gitk --simplify-merges" is easier to view than with --full-history.

* "git log" learned "--source" to show what ref each commit was reached
  from.

* "git log" also learned "--simplify-by-decoration" to show the
  birds-eye-view of the topology of the history.

* "git log --pretty=format:" learned "%d" format element that inserts
  names of tags that point at the commit.

* "git merge --squash" and "git merge --no-ff" into an unborn branch are
  noticed as user errors.

* "git merge -s $strategy" can use a custom built strategy if you have a
  command "git-merge-$strategy" on your $PATH.

* "git pull" (and "git fetch") can be told to operate "-v"erbosely or
  "-q"uietly.

* "git push" can be told to reject deletion of refs with receive.denyDeletes
  configuration.

* "git rebase" honours pre-rebase hook; use --no-verify to bypass it.

* "git rebase -p" uses interactive rebase machinery now to preserve the merges.

* "git reflog expire branch" can be used in place of "git reflog expire
  refs/heads/branch".

* "git remote show $remote" lists remote branches one-per-line now.

* "git send-email" can be given revision range instead of files and
  maildirs on the command line, and automatically runs format-patch to
  generate patches for the given revision range.

* "git submodule foreach" subcommand allows you to iterate over checked
  out submodules.

* "git submodule sync" subcommands allows you to update the origin URL
  recorded in submodule directories from the toplevel .gitmodules file.

* "git svn branch" can create new branches on the other end.

* "gitweb" can use more saner PATH_INFO based URL.

(internal)

* "git hash-object" learned to lie about the path being hashed, so that
  correct gitattributes processing can be done while hashing contents
  stored in a temporary file.

* various callers of git-merge-recursive avoid forking it as an external
  process.

* Git class defined in "Git.pm" can be subclasses a bit more easily.

* We used to link GNU regex library as a compatibility layer for some
  platforms, but it turns out it is not necessary on most of them.

* Some path handling routines used fixed number of buffers used alternately
  but depending on the call depth, this arrangement led to hard to track
  bugs.  This issue is being addressed.

Title: GIT Updates and Enhancements
Summary
This section outlines various updates and improvements to GIT, including new features for log, merge, push, rebase, and submodule commands, as well as internal changes to improve performance, compatibility, and usability, and enhancements to gitweb and git svn.