From afaa8d66ab542de0c3f6d00aaacdf0ecfa78ff33 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 2 Mar 2006 01:11:05 -0800 Subject: [PATCH] Documentation: read-tree --aggressive Signed-off-by: Junio C Hamano --- Documentation/git-read-tree.txt | 15 ++++++++++++++- read-tree.c | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt index 6fbd6d936..844cfda8d 100644 --- a/Documentation/git-read-tree.txt +++ b/Documentation/git-read-tree.txt @@ -8,7 +8,7 @@ git-read-tree - Reads tree information into the index SYNOPSIS -------- -'git-read-tree' ( | [[-m | --reset] [-u | -i]] [ []]) +'git-read-tree' ( | [[-m [--aggressive]| --reset] [-u | -i]] [ []]) 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. + :: The id of the tree object(s) to be read/merged. diff --git a/read-tree.c b/read-tree.c index c56b572d0..be29b3fe1 100644 --- a/read-tree.c +++ b/read-tree.c @@ -706,7 +706,7 @@ static int read_cache_unmerged(void) return deleted; } -static const char read_tree_usage[] = "git-read-tree ( | -m [-u | -i] [ []])"; +static const char read_tree_usage[] = "git-read-tree ( | -m [--aggressive] [-u | -i] [ []])"; static struct cache_file cache_file; -- 2.30.2