X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=read-tree.c;h=eaff4441963409ea058722ef08fcf181a34a0c96;hb=be7db6e574b95c70ac544c78d74fdeea0fb4058d;hp=f39fe5ca653db7a4972cf99e790991c3d88495d0;hpb=816c02ce8ecddce065e83db9f4ecb78f6b0e23dc;p=git.git diff --git a/read-tree.c b/read-tree.c index f39fe5ca..eaff4441 100644 --- a/read-tree.c +++ b/read-tree.c @@ -337,7 +337,7 @@ static void check_updates(struct cache_entry **src, int nr) if (ce->ce_flags & mask) { ce->ce_flags &= ~mask; if (update) - checkout_entry(ce, &state); + checkout_entry(ce, &state, NULL); } } if (total) { @@ -560,9 +560,11 @@ static int threeway_merge(struct cache_entry **stages) */ if ((head_deleted && remote_deleted) || (head_deleted && remote && remote_match) || - (remote_deleted && head && head_match)) + (remote_deleted && head && head_match)) { + if (index) + return deleted_entry(index, index); return 0; - + } /* * Added in both, identically. */ @@ -704,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; @@ -715,6 +717,7 @@ int main(int argc, char **argv) merge_fn_t fn = NULL; setup_git_directory(); + git_config(git_default_config); newfd = hold_index_file_for_update(&cache_file, get_index_file()); if (newfd < 0)