Documentation: read-tree --aggressive
authorJunio C Hamano <junkio@cox.net>
Thu, 2 Mar 2006 09:11:05 +0000 (01:11 -0800)
committerJunio C Hamano <junkio@cox.net>
Thu, 2 Mar 2006 09:11:05 +0000 (01:11 -0800)
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/git-read-tree.txt
read-tree.c

index 6fbd6d9368a4bd33167c22373614d06463fa2a2e..844cfda8d23e216a090ef94c9b85c186f2d31399 100644 (file)
@@ -8,7 +8,7 @@ git-read-tree - Reads tree information into the index
 
 SYNOPSIS
 --------
-'git-read-tree' (<tree-ish> | [[-m | --reset] [-u | -i]] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
+'git-read-tree' (<tree-ish> | [[-m [--aggressive]| --reset] [-u | -i]] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
 
 
 DESCRIPTION
@@ -50,6 +50,19 @@ OPTIONS
        trees that are not directly related to the current
        working tree status into a temporary index file.
 
+--aggressive::
+       Usually a three-way merge by `git-read-tree` resolves
+       the merge for really trivial cases and leaves other
+       cases unresolved in the index, so that Porcelains can
+       implement different merge policies.  This flag makes the
+       command to resolve a few more cases internally:
++
+* when one side removes a path and the other side leaves the path
+  unmodified.  The resolution is to remove that path.
+* when both sides remove a path.  The resolution is to remove that path.
+* when both sides adds a path identically.  The resolution
+  is to add that path.
+
 <tree-ish#>::
        The id of the tree object(s) to be read/merged.
 
index c56b572d05266bb6eeae394184708d2075945d18..be29b3fe11a370e53d3dce6a43dfccdc0e22ae2c 100644 (file)
@@ -706,7 +706,7 @@ static int read_cache_unmerged(void)
        return deleted;
 }
 
-static const char read_tree_usage[] = "git-read-tree (<sha> | -m [-u | -i] <sha1> [<sha2> [<sha3>]])";
+static const char read_tree_usage[] = "git-read-tree (<sha> | -m [--aggressive] [-u | -i] <sha1> [<sha2> [<sha3>]])";
 
 static struct cache_file cache_file;