This re-roll addresses a few minor points that were brought up about v1 [1]: * "safe_create_leading_directories(): set errno on SCLD_EXISTS": * Set errno to ENOTDIR rather than EEXIST. * "raceproof_create_file(): new function": * Improve comments. * "rename_tmp_log(): use raceproof_create_file()": * Fix whitespace. * "rename_tmp_log(): improve error reporting": * Fix whitespace. This patch series is also available from my GitHub account [2] as branch delete-empty-refs-dirs. Thanks to Junio and Peff for their feedback about v1. Michael [1] http://thread.gmane.org/gmane.comp.version-control.git/286370 [2] http://github.com/mhagger/git Michael Haggerty (20): safe_create_leading_directories_const(): preserve errno safe_create_leading_directories(): set errno on SCLD_EXISTS raceproof_create_file(): new function lock_ref_sha1_basic(): use raceproof_create_file() rename_tmp_log(): use raceproof_create_file() rename_tmp_log(): improve error reporting log_ref_setup(): separate code for create vs non-create log_ref_setup(): improve robustness against races log_ref_setup(): pass the open file descriptor back to the caller log_ref_write_1(): don't depend on logfile log_ref_setup(): manage the name of the reflog file internally log_ref_write_1(): inline function try_remove_empty_parents(): rename parameter "name" -> "refname" try_remove_empty_parents(): don't trash argument contents try_remove_empty_parents(): don't accommodate consecutive slashes t5505: use "for-each-ref" to test for the non-existence of references delete_ref_loose(): derive loose reference path from lock delete_ref_loose(): inline function try_remove_empty_parents(): teach to remove parents of reflogs, too ref_transaction_commit(): clean up empty directories cache.h | 52 ++++++- refs/files-backend.c | 370 ++++++++++++++++++++++++++------------------------ refs/refs-internal.h | 9 +- sha1_file.c | 77 ++++++++++- t/t1400-update-ref.sh | 27 ++++ t/t5505-remote.sh | 2 +- 6 files changed, 351 insertions(+), 186 deletions(-) -- 2.7.0 -- 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