Merge branch 'jn/rerere-fail-on-auto-update-failure'
"git rerere" (invoked internally from many mergy operations) did not correctly signal errors when told to update the working tree files and failed to do so for whatever reason. * jn/rerere-fail-on-auto-update-failure: rerere: error out on autoupdate failure
This commit is contained in:
commit
76c6747b7e
16
rerere.c
16
rerere.c
@ -477,27 +477,23 @@ out:
|
||||
|
||||
static struct lock_file index_lock;
|
||||
|
||||
static int update_paths(struct string_list *update)
|
||||
static void update_paths(struct string_list *update)
|
||||
{
|
||||
int i;
|
||||
int fd = hold_locked_index(&index_lock, 0);
|
||||
int status = 0;
|
||||
|
||||
if (fd < 0)
|
||||
return -1;
|
||||
hold_locked_index(&index_lock, 1);
|
||||
|
||||
for (i = 0; i < update->nr; i++) {
|
||||
struct string_list_item *item = &update->items[i];
|
||||
if (add_file_to_cache(item->string, ADD_CACHE_IGNORE_ERRORS))
|
||||
status = -1;
|
||||
if (add_file_to_cache(item->string, 0))
|
||||
exit(128);
|
||||
}
|
||||
|
||||
if (!status && active_cache_changed) {
|
||||
if (active_cache_changed) {
|
||||
if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
|
||||
die("Unable to write new index file");
|
||||
} else if (fd >= 0)
|
||||
} else
|
||||
rollback_lock_file(&index_lock);
|
||||
return status;
|
||||
}
|
||||
|
||||
static int do_plain_rerere(struct string_list *rr, int fd)
|
||||
|
Loading…
Reference in New Issue
Block a user