This is v3 of the patch series; I think I have addressed all of the feedback raised about v1 [1] and v2 [2]. Thanks to Stefan Beller and Junio for their feedback about v2. There are only two significant changes since v2: * Add a new patch [03/13] that changes a lot of "flags" variables from "int" to "unsigned int". * Rework t7516: * Remove unneeded "test_tick". * Don't pass "-q" to "grep". * Use different tokens for the two tests to remove ambiguity. This branch is also available in my GitHub account [3] as branch "refs-have-new". Michael [1] http://thread.gmane.org/gmane.comp.version-control.git/263522 [2] http://thread.gmane.org/gmane.comp.version-control.git/263718 [3] https://github.com/mhagger/git Michael Haggerty (13): refs: move REF_DELETING to refs.c refs: remove the gap in the REF_* constant values refs.c: Change some "flags" to "unsigned int" struct ref_update: move "have_old" into "flags" ref_transaction_update(): remove "have_old" parameter ref_transaction_delete(): remove "have_old" parameter commit: add tests of commit races commit: avoid race when creating orphan commits ref_transaction_create(): check that new_sha1 is valid ref_transaction_delete(): check that old_sha1 is not null_sha1 ref_transaction_verify(): new function to check a reference's value update_ref(): improve documentation refs.h: Remove duplication in function docstrings branch.c | 5 +- builtin/commit.c | 4 +- builtin/fetch.c | 6 ++- builtin/receive-pack.c | 5 +- builtin/replace.c | 2 +- builtin/tag.c | 2 +- builtin/update-ref.c | 20 +++---- cache.h | 2 +- fast-import.c | 6 +-- refs.c | 140 +++++++++++++++++++++++++++++++++--------------- refs.h | 113 ++++++++++++++++++++++++++------------ sequencer.c | 2 +- t/t7516-commit-races.sh | 30 +++++++++++ walker.c | 2 +- 14 files changed, 233 insertions(+), 106 deletions(-) create mode 100755 t/t7516-commit-races.sh -- 2.1.4 -- 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