git-merge-index(1)
==================

NAME
----
git-merge-index - Run a merge for files needing merging


SYNOPSIS
--------
'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>*)

DESCRIPTION
-----------
This looks up the <file>(s) in the index and, if there are any merge
entries, passes the SHA1 hash for those files as arguments 1, 2, 3 (empty
argument if no file), and <file> as argument 4.  File modes for the three
files are passed as arguments 5, 6 and 7.

OPTIONS
-------
\--::
	Do not interpret any more arguments as options.

-a::
	Run merge against all files in the index that need merging.

-o::
	Instead of stopping at the first failed merge, do all of them
	in one shot - continue with merging even when previous merges
	returned errors, and only return the error code after all the
	merges.

-q::
	Do not complain about a failed merge program (a merge program
	failure usually indicates conflicts during the merge). This is for
	porcelains which might want to emit custom messages.

If 'git merge-index' is called with multiple <file>s (or -a) then it
processes them in turn only stopping if merge returns a non-zero exit
code.

Typically this is run with a script calling git's imitation of
the 'merge' command from the RCS package.

A sample script called 'git merge-one-file' is included in the
distribution.

ALERT ALERT ALERT! The git "merge object order" is different from the
RCS 'merge' program merge object order. In the above ordering, the
original is first. But the argument order to the 3-way merge program
'merge' is to have the original in the middle. Don't ask me why.

Examples:

  torvalds@ppc970:~/merge-test> git merge-index cat MM
  This is MM from the original tree.			# original
  This is modified MM in the branch A.			# merge1
  This is modified MM in the branch B.			# merge2
  This is modified MM in the branch B.			# current contents

or

  torvalds@ppc970:~/merge-test> git merge-index cat AA MM
  cat: : No such file or directory
  This is added AA in the branch A.
  This is added AA in the branch B.
  This is added AA in the branch B.
  fatal: merge program failed

where the latter example shows how 'git merge-index' will stop trying to
merge once anything has returned an error (i.e., `cat` returned an error
for the AA file, because it didn't exist in the original, and thus
'git merge-index' didn't even try to merge the MM thing).

Author
------
Written by Linus Torvalds <torvalds@osdl.org>
One-shot merge by Petr Baudis <pasky@ucw.cz>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the linkgit:git[1] suite
