[PATCH v4 0/8] Multiple simultaneously locked ref updates
- From
Brad King <brad.king@kitware.com>
- Date
- Sep 4, 2013, 15:22 UTC
- Message-ID
- <cover.1378307529.git.brad.king@kitware.com>
- In-Reply-To
- <cover.1378142795.git.brad.king@kitware.com>
Hi Folks,
Here is the fourth revision of a series to support locking multiple refs at the same time to update all of them consistently. The previous revisions of the series can be found at $gmane/233260, $gmane/233458, and $gmane/233647.
Updates since the previous revision of the series:
* Patches 1-4 are identical
* Patches 5-7 no longer have ":" at the end of comments, a style I "learned" from the context of patch 5 but that I saw Junio squash out of patch 5 v2 when he queued it as 53237ae4.
* Patch 7 has a re-organized parser and now defines a -z format for stdin that terminates arguments with NUL and lines with LF NUL:
... <ref> NUL <newvalue> NUL [ <oldvalue> NUL ] LF NUL
* Patch 8 now has test cases for -z mode and updated error cases for the re-organized parser.
Note to maintainer:
* Patch 4 needs to be re-queued to replace c7c80f49 due to the tweak suggested in $gmane/233521 and made in v3 and kept in v4.
Thanks, -Brad
Brad King (8): reset: rename update_refs to reset_refs refs: report ref type from lock_any_ref_for_update refs: factor update_ref steps into helpers refs: factor delete_ref loose ref step into a helper refs: add function to repack without multiple refs refs: add update_refs for multiple simultaneous updates update-ref: support multiple simultaneous updates update-ref: add test cases covering --stdin signature
Documentation/git-update-ref.txt | 22 +- branch.c | 2 +- builtin/commit.c | 2 +- builtin/fetch.c | 3 +- builtin/receive-pack.c | 3 +- builtin/reflog.c | 2 +- builtin/replace.c | 2 +- builtin/reset.c | 4 +- builtin/tag.c | 2 +- builtin/update-ref.c | 144 ++++++++++++- fast-import.c | 2 +- refs.c | 195 ++++++++++++++--- refs.h | 22 +- sequencer.c | 3 +- t/t1400-update-ref.sh | 445 +++++++++++++++++++++++++++++++++++++++ 15 files changed, 812 insertions(+), 41 deletions(-)
-- 1.8.4.rc3