X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=read-tree.c;h=1c3b09beffdf347af40b385f632d481c99645a33;hb=9bc8b776c54e9b4c3b753639b4ae70acb2ff8db6;hp=bb50a800d79dbfb7836b6cba1c62935d9a78577e;hpb=7bd1527d2d8c80a6e9a0f8583082a5aee5428c68;p=git.git diff --git a/read-tree.c b/read-tree.c index bb50a800..1c3b09be 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) { @@ -404,7 +404,7 @@ static void verify_uptodate(struct cache_entry *ce) return; if (!lstat(ce->name, &st)) { - unsigned changed = ce_match_stat(ce, &st); + unsigned changed = ce_match_stat(ce, &st, 1); if (!changed) return; errno = 0; @@ -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;