Use pretend_sha1_file() in git-blame and git-merge-recursive.

git-merge-recursive wants an null tree as the fake merge base
while producing the merge result tree.  The null tree does not
have to be written out in the object store as it won't be part
of the result, and it is a prime example for using the new
pretend_sha1_file() function.

git-blame needs to register an arbitrary data to in-core index
while annotating a working tree file (or standard input), but
git-blame is a read-only application and the user of it could
even lack the privilege to write into the object store; it is
another good example for pretend_sha1_file().

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2007-02-04 21:49:05 -08:00
parent d66b37bb19
commit 005f85d9ae
2 changed files with 2 additions and 2 deletions

View File

@ -2005,7 +2005,7 @@ static struct commit *fake_working_tree_commit(const char *path, const char *con
buf[fin_size] = 0; buf[fin_size] = 0;
origin->file.ptr = buf; origin->file.ptr = buf;
origin->file.size = fin_size; origin->file.size = fin_size;
write_sha1_file(buf, fin_size, blob_type, origin->blob_sha1); pretend_sha1_file(buf, fin_size, blob_type, origin->blob_sha1);
commit->util = origin; commit->util = origin;
/* /*

View File

@ -1213,7 +1213,7 @@ static int merge(struct commit *h1,
tree->object.parsed = 1; tree->object.parsed = 1;
tree->object.type = OBJ_TREE; tree->object.type = OBJ_TREE;
write_sha1_file(NULL, 0, tree_type, tree->object.sha1); pretend_sha1_file(NULL, 0, tree_type, tree->object.sha1);
merged_common_ancestors = make_virtual_commit(tree, "ancestor"); merged_common_ancestors = make_virtual_commit(tree, "ancestor");
} }