From: Johan Herland <johan@herland.net>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 2/2] refs.c: Write reflogs for notes just like for branch heads
Date: Mon, 29 Mar 2010 16:25:22 +0200 [thread overview]
Message-ID: <201003291625.22977.johan@herland.net> (raw)
In-Reply-To: <0f06a30f395c14307066d0e4365fc61a294997db.1269867675.git.git@drmicha.warpmail.net>
On Monday 29 March 2010, Michael J Gruber wrote:
> The notes code intends to write reflog entries, but currently they
> are not written because log_ref_write() checks for the refname path
> explicitly.
>
> Add refs/notes to the list of allowed paths so that notes references
> are treated just like branch heads, i.e. according to
> core.logAllRefUpdates and core.bare.
>
> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Both patches are
Acked-by: Johan Herland <johan@herland.net>
> ---
> This is actually inspired by Jeff's novel notes use. I think there
> are use cases where a notes log makes sense (notes on commits) and
> those where it does not (metadata/textconv). In both cases having a
> reflog is useful. So, the next step is really to allow notes trees
> without history, which also takes care of the pruning issue. I know
> how to do this, I just have to decide about the configuration
> options.
I noticed that Jeff's proof-of-concept wrote notes trees without making
notes commits, and although it seemed like a bug at first, it does - as
you say - provide a rather nice way to store notes trees without
history.
Note that I haven't explicitly designed the notes feature with this in
mind, so it's wise to add testcases for expected behaviour once we
start use history-less notes trees.
Thinking about it, the notes code itself (notes.h/.c) only wants a notes
_tree_ object, so will probably work fine with history-less notes
trees. But builtin/notes.c with its public commit_notes() function may
be another story...
...Johan
> refs.c | 1 +
> t/t3301-notes.sh | 2 +-
> 2 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/refs.c b/refs.c
> index 0f24c8d..d3db15a 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -1276,6 +1276,7 @@ static int log_ref_write(const char *ref_name,
> const unsigned char *old_sha1, if (log_all_ref_updates &&
> (!prefixcmp(ref_name, "refs/heads/") ||
> !prefixcmp(ref_name, "refs/remotes/") ||
> + !prefixcmp(ref_name, "refs/notes/") ||
> !strcmp(ref_name, "HEAD"))) {
> if (safe_create_leading_directories(log_file) < 0)
> return error("unable to create directory for %s",
> diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh
> index 5410a6d..b2e7b07 100755
> --- a/t/t3301-notes.sh
> +++ b/t/t3301-notes.sh
> @@ -69,7 +69,7 @@ cat >expect <<EOF
> d423f8c refs/notes/commits@{0}: notes: Notes added by 'git notes
> add' EOF
>
> -test_expect_failure 'create reflog entry' '
> +test_expect_success 'create reflog entry' '
> git reflog show refs/notes/commits >output &&
> test_cmp expect output
> '
--
Johan Herland, <johan@herland.net>
www.herland.net
next prev parent reply other threads:[~2010-03-29 14:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-29 13:05 [PATCH 1/2] t3301-notes: Test the creation of reflog entries Michael J Gruber
2010-03-29 13:05 ` [PATCH 2/2] refs.c: Write reflogs for notes just like for branch heads Michael J Gruber
2010-03-29 14:25 ` Johan Herland [this message]
2010-03-30 17:19 ` Jeff King
2010-03-30 18:00 ` Johan Herland
2010-03-30 19:18 ` Jakub Narebski
2010-04-02 0:16 ` Jeff King
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=201003291625.22977.johan@herland.net \
--to=johan@herland.net \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--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.