checkout -m: recreate merge when checking out of unmerged index
authorJunio C Hamano <gitster@pobox.com>
Sat, 30 Aug 2008 14:52:24 +0000 (07:52 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 31 Aug 2008 02:57:55 +0000 (19:57 -0700)
commit0cf8581e330e7140c9f5c94a53d441187c0f8ff9
treea1e46a0198f62914d29e8e1429b8efce58ada4ee
parent29a1f99b4b81cd28163de1275265234c5ab804b4
checkout -m: recreate merge when checking out of unmerged index

This teaches git-checkout to recreate a merge out of unmerged
index entries while resolving conflicts.

With this patch, checking out an unmerged path from the index
now have the following possibilities:

 * Without any option, an attempt to checkout an unmerged path
   will atomically fail (i.e. no other cleanly-merged paths are
   checked out either);

 * With "-f", other cleanly-merged paths are checked out, and
   unmerged paths are ignored;

 * With "--ours" or "--theirs, the contents from the specified
   stage is checked out;

 * With "-m" (we should add "--merge" as synonym), the 3-way merge
   is recreated from the staged object names and checked out.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-checkout.txt
builtin-checkout.c
t/t7201-co.sh