Merge branch 'jc/lock-report-on-error'
Git 2.11 had a minor regression in "merge --ff-only" that competed with another process that simultanously attempted to update the index. We used to explain what went wrong with an error message, but the new code silently failed. The error message has been resurrected. * jc/lock-report-on-error: lockfile: LOCK_REPORT_ON_ERROR hold_locked_index(): align error handling with hold_lockfile_for_update() wt-status: implement opportunisitc index update correctly
This commit is contained in:
@ -351,7 +351,7 @@ static const char *prepare_index(int argc, const char **argv, const char *prefix
|
||||
|
||||
if (interactive) {
|
||||
char *old_index_env = NULL;
|
||||
hold_locked_index(&index_lock, 1);
|
||||
hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
|
||||
|
||||
refresh_cache_or_die(refresh_flags);
|
||||
|
||||
@ -396,7 +396,7 @@ static const char *prepare_index(int argc, const char **argv, const char *prefix
|
||||
* (B) on failure, rollback the real index.
|
||||
*/
|
||||
if (all || (also && pathspec.nr)) {
|
||||
hold_locked_index(&index_lock, 1);
|
||||
hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
|
||||
add_files_to_cache(also ? prefix : NULL, &pathspec, 0);
|
||||
refresh_cache_or_die(refresh_flags);
|
||||
update_main_cache_tree(WRITE_TREE_SILENT);
|
||||
@ -416,7 +416,7 @@ static const char *prepare_index(int argc, const char **argv, const char *prefix
|
||||
* We still need to refresh the index here.
|
||||
*/
|
||||
if (!only && !pathspec.nr) {
|
||||
hold_locked_index(&index_lock, 1);
|
||||
hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
|
||||
refresh_cache_or_die(refresh_flags);
|
||||
if (active_cache_changed
|
||||
|| !cache_tree_fully_valid(active_cache_tree))
|
||||
@ -468,7 +468,7 @@ static const char *prepare_index(int argc, const char **argv, const char *prefix
|
||||
if (read_cache() < 0)
|
||||
die(_("cannot read the index"));
|
||||
|
||||
hold_locked_index(&index_lock, 1);
|
||||
hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
|
||||
add_remove_files(&partial);
|
||||
refresh_cache(REFRESH_QUIET);
|
||||
update_main_cache_tree(WRITE_TREE_SILENT);
|
||||
|
Reference in New Issue
Block a user