[PATCH 6/6] RFC - Notes merge: die when asked to merge a non-existent ref.
From: Yann Dirson <hidden>
Date: 2016-06-15 22:51:29
Subsystem:
the rest · Maintainer:
Linus Torvalds
This causes the "merge empty notes ref (z => y)" test in t3308-notes-merge.sh to fail - obviously, it is removing the functionnality that is tested for. Is there any real use for this ? It just seems so different from "git merge", which errors out in the similar situation: $ git merge foo fatal: 'foo' does not point to a commit Signed-off-by: Yann Dirson <redacted> --- builtin/notes.c | 3 +++ t/t3308-notes-merge.sh | 6 ------ 2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/builtin/notes.c b/builtin/notes.c
index 6bff44f..058b14d 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c@@ -908,6 +908,9 @@ static int merge(int argc, const char **argv, const char *prefix) expand_notes_ref(&remote_ref, 1); o.remote_ref = remote_ref.buf; + if (!peel_to_type(o.remote_ref, 0, NULL, OBJ_COMMIT)) + die("'%s' does not point to a commit", o.remote_ref); + if (strategy) { if (!strcmp(strategy, "manual")) o.strategy = NOTES_MERGE_RESOLVE_MANUAL;
diff --git a/t/t3308-notes-merge.sh b/t/t3308-notes-merge.sh
index 24d82b4..2dcc1db 100755
--- a/t/t3308-notes-merge.sh
+++ b/t/t3308-notes-merge.sh@@ -104,12 +104,6 @@ test_expect_success 'merge notes into empty notes ref (x => y)' ' test "$(git rev-parse refs/notes/x)" = "$(git rev-parse refs/notes/y)" ' -test_expect_success 'merge empty notes ref (z => y)' ' - git notes merge z && - # y should not change (still == x) - test "$(git rev-parse refs/notes/x)" = "$(git rev-parse refs/notes/y)" -' - test_expect_success 'change notes on other notes ref (y)' ' # Not touching notes to 1st commit git notes remove 2nd &&
--
1.7.5.3