diff options
authorJunio C Hamano <>2006-12-06 07:44:23 (GMT)
committerJunio C Hamano <>2006-12-06 07:44:23 (GMT)
commit22f741dab7cc93f00f7cf96cd65d7481677cd855 (patch)
parent1127148089234a6f84754f2f0ec36cbbcae06fa9 (diff)
read-tree: document --exclude-per-directory
This documents the new option to read-tree that is used for the improved "branch switching" code. Signed-off-by: Junio C Hamano <>
2 files changed, 16 insertions, 2 deletions
diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index 11bd9c0..0ff2890 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
-'git-read-tree' (<tree-ish> | [[-m [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
+'git-read-tree' (<tree-ish> | [[-m [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] [--exclude-per-directory=<gitignore>] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
@@ -71,6 +71,20 @@ OPTIONS
directory. Note that the `<prefix>/` value must end
with a slash.
+ When running the command with `-u` and `-m` options, the
+ merge result may need to overwrite paths that are not
+ tracked in the current branch. The command usually
+ refuses to proceed with the merge to avoid losing such a
+ path. However this safety valve sometimes gets in the
+ way. For example, it often happens that the other
+ branch added a file that used to be a generated file in
+ your branch, and the safety valve triggers when you try
+ to switch to that branch after you ran `make` but before
+ running `make clean` to remove the generated file. This
+ option tells the command to read per-directory exclude
+ file (usually '.gitignore') and allows such an untracked
+ but explicitly ignored file to be overwritten.
The id of the tree object(s) to be read/merged.
diff --git a/builtin-read-tree.c b/builtin-read-tree.c
index 3f6cae3..8ba436d 100644
--- a/builtin-read-tree.c
+++ b/builtin-read-tree.c
@@ -85,7 +85,7 @@ static void prime_cache_tree(void)
-static const char read_tree_usage[] = "git-read-tree (<sha> | [[-m [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] <sha1> [<sha2> [<sha3>]])";
+static const char read_tree_usage[] = "git-read-tree (<sha> | [[-m [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] [--exclude-per-directory=<gitignore>] <sha1> [<sha2> [<sha3>]])";
static struct lock_file lock_file;