aboutsummaryrefslogtreecommitdiff
path: root/builtin-read-tree.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-04-07 02:26:24 -0700
committerJunio C Hamano <junkio@cox.net>2007-04-07 02:26:24 -0700
commitee9693e246669f48f6b058a1044cefa973a44c22 (patch)
tree80f0985cb14b578e9d13c04ad39a47dd8eccb3a2 /builtin-read-tree.c
parent39415449ee9b0bfbd6026e38c6e5d43f99759bf2 (diff)
parent5e7f56ac33f7a5583f9fa4e0b6088709fea7a6f8 (diff)
downloadgit-ee9693e246669f48f6b058a1044cefa973a44c22.tar.gz
git-ee9693e246669f48f6b058a1044cefa973a44c22.tar.xz
Merge branch 'jc/index-output'
* jc/index-output: git-read-tree --index-output=<file> _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file. Conflicts: builtin-apply.c
Diffstat (limited to 'builtin-read-tree.c')
-rw-r--r--builtin-read-tree.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/builtin-read-tree.c b/builtin-read-tree.c
index 793eae0a5..213bd93c7 100644
--- a/builtin-read-tree.c
+++ b/builtin-read-tree.c
@@ -84,7 +84,7 @@ static void prime_cache_tree(void)
}
-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 const char read_tree_usage[] = "git-read-tree (<sha> | [[-m [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] [--exclude-per-directory=<gitignore>] [--index-output=<file>] <sha1> [<sha2> [<sha3>]])";
static struct lock_file lock_file;
@@ -100,7 +100,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
setup_git_directory();
git_config(git_default_config);
- newfd = hold_lock_file_for_update(&lock_file, get_index_file(), 1);
+ newfd = hold_locked_index(&lock_file, 1);
git_config(git_default_config);
@@ -128,6 +128,11 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
continue;
}
+ if (!prefixcmp(arg, "--index-output=")) {
+ set_alternate_index_output(arg + 15);
+ continue;
+ }
+
/* "--prefix=<subdirectory>/" means keep the current index
* entries and put the entries from the tree under the
* given subdirectory.
@@ -267,7 +272,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
}
if (write_cache(newfd, active_cache, active_nr) ||
- close(newfd) || commit_lock_file(&lock_file))
+ close(newfd) || commit_locked_index(&lock_file))
die("unable to write new index file");
return 0;
}