Martin von Zweigbergk <martinvonz@xxxxxxxxx> writes: > "git reset --keep" calls reset_index_file() twice, first doing a > two-way merge to the target revision, updating the index and worktree, > and then resetting the index. After each call, we write the index > file. > > In the unlikely event that the second call to reset_index_file() > fails, the index will have been merged to the target revision, but > HEAD will not be updated, leaving the user with a dirty index. > > By moving the locking, writing and committing out of > reset_index_file() and into the caller, we can avoid writing the index > twice, thereby making the sure we don't end up in the half-way reset > state. Nice. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html