Code

refs.c: Write reflogs for notes just like for branch heads
authorMichael J Gruber <git@drmicha.warpmail.net>
Mon, 29 Mar 2010 13:05:58 +0000 (15:05 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 30 Mar 2010 04:18:07 +0000 (21:18 -0700)
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>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c
t/t3301-notes.sh

diff --git a/refs.c b/refs.c
index 0f24c8d5d9fa897c0b72c529c9fd2ccbcc7bd4d9..d3db15a76cc46f6f6a31d4448816c09e6c48e543 100644 (file)
--- 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",
index 5410a6d98138d571f5d8fd6256e689888a81b825..b2e7b0703979ce462455f19d4c3c82f02dc2540e 100755 (executable)
@@ -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
 '