Merge branch 'js/diff' into next

* js/diff:
  Teach diff about -b and -w flags
  git-commit: allow -e option anywhere on command line
  patch-id: take "commit" prefix as well as "diff-tree" prefix
Merge branch 'jc/sha1' into next

* jc/sha1:
  Makefile: add framework to verify and bench sha1 implementations.
  git-pull: abort when fmt-merge-msg fails.
  usage: minimum type fix.
  Customizable error handlers
  git-merge: Don't use -p when outputting summary
Merge branch 'jc/squash' into next

* jc/squash:
  git-merge --squash
Merge branch 'ml/cvsimport' into next

* ml/cvsimport:
  cvsimport: setup indexes correctly for ancestors and incremental imports
  repo-config: fix printing of bool
  diff --color: use reset sequence when we mean reset.
  git-repack -- respect -q and be quiet
Merge branch 'jc/diff' into next

* jc/diff:
  diff --color: use $GIT_DIR/config
  git-commit: filter out log message lines only when editor was run.
  Rename safe_strncpy() to strlcpy().
  apply: replace NO_ACCURATE_DIFF with --inaccurate-eof runtime flag.
  Clean up diff.c
Merge branch 'ml/cvsimport' into next

* ml/cvsimport:
  cvsimport: always set $ENV{GIT_INDEX_FILE} to $index{$branch}
Merge branch 'ew/rebase' into next

* ew/rebase:
  rebase: allow --skip to work with --merge
  rebase: cleanup rebasing with --merge
  rebase: allow --merge option to handle patches merged upstream
Merge branch 'jc/sha1' into next
Merge branch 'js/patch' into next

* js/patch:
  t4014: add format-patch --ignore-if-in-upstream test
  format-patch: introduce "--ignore-if-in-upstream"
  add diff_flush_patch_id() to calculate the patch id
  Fix pkt-line.h to compile with a non-GCC compiler
  Solaris needs inclusion of signal.h for signal()
  correct documentation for git grep
Merge branch 'js/patch' into next

* js/patch:
  format-patch: use clear_commit_marks() instead of some ad-hockery
  t4014: fix for whitespace from "wc -l"
Merge branch 'jc/diff-test' into next

* jc/diff-test:
  t4013: add more tests around -c and --cc
  t4013: add tests for diff/log family output options.
Merge branch 'jc/repack' into next

* jc/repack:
  git-repack: Be careful when updating the same pack as an existing one.
Merge branch 'master' into next

* master:
  Fix expr usage for FreeBSD
Merge branch 'master' into next

* master:
  Save errno in handle_alias()
  rebase: check for errors from git-commit
  cvsimport - cleanup of the multi-indexes handling
  connect.c: check the commit buffer boundary while parsing.
  connect.c: remove unused parameters from tcp_connect and proxy_connect
  Make some strings const
  rebase: get rid of outdated MRESOLVEMSG
  git wrapper: fix command name in an error message.
  git-svn: be verbose by default on fetch/commit, add -q/--quiet option
  git-svn: add --follow-parent and --no-metadata options to fetch
  git-svn: add the commit-diff command
  git-svn: several graft-branches improvements
  git-svn: SVN 1.1.x library compatibility
  combine-diff.c: type sanity
  quote.c: silence compiler warnings from EMIT macro
Merge branch 'js/patch' into next

* js/patch:
  diff.c: fix get_patch_id()
  t4014: fix test commit labels.
Merge branch 'lt/xdiff-common' into next

* lt/xdiff-common:
  xdiff: generate "anti-diffs" aka what is common to two files
  checkout -m: fix read-tree invocation
  t/README: start testing porcelainish
Merge branch 'lt/merge-tree' into next

* lt/merge-tree:
  Improved three-way blob merging code
  Prepare "git-merge-tree" for future work
Merge branch 'jc/diff-test' into next

* jc/diff-test:
  t4013: add format-patch tests.
Merge branch 'jc/sha1' into next

* jc/sha1:
  A better-scheduled PPC SHA-1 implementation.
Merge branch 'js/merge-base' into next

* js/merge-base:
  move get_merge_bases() to core lib.
  refactor merge_bases() as preparation to libify merge-base