From: Michael Haggerty <mhagger@alum.mit.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Karl Moskowski <kmoskowski@me.com>,
Jeff King <peff@peff.net>, Mike Hommey <mh@glandium.org>,
David Turner <dturner@twopensource.com>,
Michael Haggerty <mhagger@alum.mit.edu>
Subject: [PATCH v2 00/20] Delete directories left empty after ref deletion
Date: Thu, 25 Feb 2016 14:15:59 +0100 [thread overview]
Message-ID: <cover.1456405698.git.mhagger@alum.mit.edu> (raw)
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
next reply other threads:[~2016-02-25 13:16 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-25 13:15 Michael Haggerty [this message]
2016-02-25 13:16 ` [PATCH v2 01/20] safe_create_leading_directories_const(): preserve errno Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 02/20] safe_create_leading_directories(): set errno on SCLD_EXISTS Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 03/20] raceproof_create_file(): new function Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 04/20] lock_ref_sha1_basic(): use raceproof_create_file() Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 05/20] rename_tmp_log(): " Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 06/20] rename_tmp_log(): improve error reporting Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 07/20] log_ref_setup(): separate code for create vs non-create Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 08/20] log_ref_setup(): improve robustness against races Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 09/20] log_ref_setup(): pass the open file descriptor back to the caller Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 10/20] log_ref_write_1(): don't depend on logfile Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 11/20] log_ref_setup(): manage the name of the reflog file internally Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 12/20] log_ref_write_1(): inline function Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 13/20] try_remove_empty_parents(): rename parameter "name" -> "refname" Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 14/20] try_remove_empty_parents(): don't trash argument contents Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 15/20] try_remove_empty_parents(): don't accommodate consecutive slashes Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 16/20] t5505: use "for-each-ref" to test for the non-existence of references Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 17/20] delete_ref_loose(): derive loose reference path from lock Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 18/20] delete_ref_loose(): inline function Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 19/20] try_remove_empty_parents(): teach to remove parents of reflogs, too Michael Haggerty
2016-02-25 13:16 ` [PATCH v2 20/20] ref_transaction_commit(): clean up empty directories Michael Haggerty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1456405698.git.mhagger@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=dturner@twopensource.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kmoskowski@me.com \
--cc=mh@glandium.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.