Sorry, I forgot to send this re-roll to the mailing list.
This version differs only very slightly from v2:
* Rebased to the current master (there were no conflicts).
* Rename a couple of local variables from "attempts" to
"attempts_remaining".
* Patches 13, 16, and 17 have slightly improved commit messages.
Michael Haggerty (17):
safe_create_leading_directories(): fix format of "if" chaining
safe_create_leading_directories(): reduce scope of local variable
safe_create_leading_directories(): add explicit "slash" pointer
safe_create_leading_directories(): rename local variable
safe_create_leading_directories(): split on first of multiple slashes
safe_create_leading_directories(): always restore slash at end of loop
safe_create_leading_directories(): introduce enum for return values
cmd_init_db(): when creating directories, handle errors conservatively
safe_create_leading_directories(): add new error value SCLD_VANISHED
lock_ref_sha1_basic(): on SCLD_VANISHED, retry
lock_ref_sha1_basic(): if locking fails with ENOENT, retry
remove_dir_recurse(): tighten condition for removing unreadable dir
remove_dir_recurse(): handle disappearing files and directories
rename_ref(): extract function rename_tmp_log()
rename_tmp_log(): handle a possible mkdir/rmdir race
rename_tmp_log(): limit the number of remote_empty_directories()
attempts
rename_tmp_log(): on SCLD_VANISHED, retry
builtin/init-db.c | 9 +++---
cache.h | 25 +++++++++++++--
dir.c | 27 +++++++++++-----
merge-recursive.c | 2 +-
refs.c | 92 ++++++++++++++++++++++++++++++++++++++++---------------
sha1_file.c | 67 ++++++++++++++++++++++------------------
6 files changed, 155 insertions(+), 67 deletions(-)
--
1.8.5.2
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html