From: Stefan Beller <sbeller@google.com>
To: git@vger.kernel.org, gitster@pobox.com, mhagger@alum.mit.edu
Cc: Stefan Beller <sbeller@google.com>
Subject: [PATCH v3 00/14] ref-transactions-reflog
Date: Mon, 17 Nov 2014 17:35:36 -0800 [thread overview]
Message-ID: <1416274550-2827-1-git-send-email-sbeller@google.com> (raw)
Hi,
The following patch series updates the reflog handling to use transactions.
This patch series has previously been sent to the list[1].
This series converts the reflog handling and builtin/reflog.c to use
a transaction for both the ref as well as the reflog updates.
As a side effect of this it simplifies the reflog marshalling code so that we
only have one place where we marshall the entry.
It also means that we can remove several functions from the public api
towards the end of the series since we no longer need those functions.
This series can also be found at github[2] or at googlesource[3].
Feel free to review, where it suits you best.
Version 3:
* Go over the commit messages and reword them slightly where appropriate.
(only cosmetics, like missing/double words, spelling, clarify)
* As Ronnie announced to change employers soon, he'll have only limited
time to work on git in the near future. As this is a rather large patch
series, he is handing this work over to me. That's why I'm sending the
patches this time.
Thanks,
Stefan
[1] http://www.spinics.net/lists/git/msg241186.html
[2] https://github.com/stefanbeller/git/tree/ref-transactions-reflog
[3] https://code-review.googlesource.com/#/q/topic:ref-transaction-reflog
Ronnie Sahlberg (14):
refs.c: make ref_transaction_create a wrapper for
ref_transaction_update
refs.c: make ref_transaction_delete a wrapper for
ref_transaction_update
refs.c: rename the transaction functions
refs.c: add a function to append a reflog entry to a fd
refs.c: add a new update_type field to ref_update
refs.c: add a transaction function to append a reflog entry
refs.c: add a flag to allow reflog updates to truncate the log
refs.c: only write reflog update if msg is non-NULL
refs.c: allow multiple reflog updates during a single transaction
reflog.c: use a reflog transaction when writing during expire
refs.c: rename log_ref_setup to create_reflog
refs.c: Remove unlock_ref/close_ref/commit_ref from the refs api
refs.c: remove lock_any_ref_for_update
refs.c: allow deleting refs with a broken sha1
branch.c | 13 +-
builtin/branch.c | 5 +-
builtin/checkout.c | 8 +-
builtin/commit.c | 10 +-
builtin/fetch.c | 12 +-
builtin/receive-pack.c | 13 +-
builtin/reflog.c | 85 ++++------
builtin/replace.c | 10 +-
builtin/tag.c | 10 +-
builtin/update-ref.c | 26 +--
cache.h | 7 +
fast-import.c | 22 +--
refs.c | 403 +++++++++++++++++++++++++++++---------------
refs.h | 87 +++++-----
sequencer.c | 12 +-
t/t1402-check-ref-format.sh | 8 +
walker.c | 10 +-
17 files changed, 440 insertions(+), 301 deletions(-)
--
2.2.0.rc2.5.gf7b9fb2
next reply other threads:[~2014-11-18 1:36 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-18 1:35 Stefan Beller [this message]
2014-11-18 1:35 ` [PATCH v3 01/14] refs.c: make ref_transaction_create a wrapper for ref_transaction_update Stefan Beller
2014-11-18 1:35 ` [PATCH v3 02/14] refs.c: make ref_transaction_delete " Stefan Beller
2014-11-18 1:35 ` [PATCH v3 03/14] refs.c: rename the transaction functions Stefan Beller
2014-11-18 1:35 ` [PATCH v3 04/14] refs.c: add a function to append a reflog entry to a fd Stefan Beller
2014-11-18 1:35 ` [PATCH v3 05/14] refs.c: add a new update_type field to ref_update Stefan Beller
2014-11-18 1:35 ` [PATCH v3 06/14] refs.c: add a transaction function to append a reflog entry Stefan Beller
2014-11-18 1:35 ` [PATCH v3 07/14] refs.c: add a flag to allow reflog updates to truncate the log Stefan Beller
2014-11-18 1:35 ` [PATCH v3 08/14] refs.c: only write reflog update if msg is non-NULL Stefan Beller
2014-11-18 1:35 ` [PATCH v3 09/14] refs.c: allow multiple reflog updates during a single transaction Stefan Beller
2014-11-18 1:35 ` [PATCH v3 10/14] reflog.c: use a reflog transaction when writing during expire Stefan Beller
2014-11-18 1:35 ` [PATCH v3 11/14] refs.c: rename log_ref_setup to create_reflog Stefan Beller
2014-11-18 1:35 ` [PATCH v3 12/14] refs.c: Remove unlock_ref/close_ref/commit_ref from the refs api Stefan Beller
2014-11-18 1:35 ` [PATCH v3 13/14] refs.c: remove lock_any_ref_for_update Stefan Beller
2014-11-18 1:35 ` [PATCH v3 14/14] refs.c: allow deleting refs with a broken sha1 Stefan Beller
2014-11-18 11:26 ` [PATCH v3 00/14] ref-transactions-reflog Michael Haggerty
2014-11-18 18:36 ` Ronnie Sahlberg
2014-11-18 19:46 ` Michael Haggerty
2014-11-18 20:30 ` Junio C Hamano
2014-11-18 21:16 ` Michael Haggerty
2014-11-18 21:28 ` Junio C Hamano
2014-11-19 23:22 ` Stefan Beller
2014-11-20 3:24 ` Jonathan Nieder
2014-11-20 17:34 ` Junio C Hamano
2014-11-20 10:56 ` Michael Haggerty
2014-11-20 18:17 ` Jonathan Nieder
2014-11-27 5:34 ` [PATCH 0/4] Using transactions for the reflog Stefan Beller
2014-11-27 5:34 ` [PATCH 1/4] refs.c: rename the transaction functions Stefan Beller
2014-11-27 5:34 ` [PATCH 2/4] refs.c: add a new update_type field to ref_update Stefan Beller
2014-11-27 5:34 ` [PATCH 3/4] refs.c: add a transaction function to append a reflog entry Stefan Beller
2014-11-27 5:34 ` [PATCH 4/4] reflog.c: use a reflog transaction when writing during expire Stefan Beller
-- strict thread matches above, loose matches on Subject: below --
2014-06-18 17:08 [PATCH v3 00/14] ref-transactions-reflog Ronnie Sahlberg
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=1416274550-2827-1-git-send-email-sbeller@google.com \
--to=sbeller@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=mhagger@alum.mit.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).