static struct object_list *trees = NULL;
-static struct cache_entry df_conflict_entry = {
-};
+static struct cache_entry df_conflict_entry;
struct tree_entry_list {
struct tree_entry_list *next;
fprintf(stderr, "%4u%% (%u/%u) done\r",
percent, cnt, total);
last_percent = percent;
+ progress_update = 0;
}
}
}
return error("Cannot do a oneway merge of %d trees",
merge_size);
- if (!a) {
- invalidate_ce_path(old);
+ if (!a)
return deleted_entry(old, old);
- }
if (old && same(old, a)) {
if (reset) {
struct stat st;
static const char read_tree_usage[] = "git-read-tree (<sha> | [[-m [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] <sha1> [<sha2> [<sha3>]])";
-static struct cache_file cache_file;
+static struct lock_file lock_file;
int cmd_read_tree(int argc, const char **argv, char **envp)
{
setup_git_directory();
git_config(git_default_config);
- newfd = hold_index_file_for_update(&cache_file, get_index_file());
+ newfd = hold_lock_file_for_update(&lock_file, get_index_file());
if (newfd < 0)
- die("unable to create new cachefile");
+ die("unable to create new index file");
git_config(git_default_config);
* valid cache-tree because the index must match exactly
* what came from the tree.
*/
- if (trees && trees->item && (!merge || (stage == 2))) {
+ if (trees && trees->item && !prefix && (!merge || (stage == 2))) {
cache_tree_free(&active_cache_tree);
prime_cache_tree();
}
if (write_cache(newfd, active_cache, active_nr) ||
- commit_index_file(&cache_file))
+ commit_lock_file(&lock_file))
die("unable to write new index file");
return 0;
}