@@ -28,6 +28,7 @@
#include "notes-utils.h"
#include "worktree.h"
#include "write-or-die.h"
+#include "xdiff-interface.h"
static const char * const git_notes_usage[] = {
N_("git notes [--ref <notes-ref>] [list [<object>]]"),
@@ -1020,7 +1021,7 @@ int cmd_notes(int argc, const char **argv, const char *prefix)
OPT_END()
};
- git_config(git_default_config, NULL);
+ git_config(git_xmerge_config, NULL);
argc = parse_options(argc, argv, prefix, options, git_notes_usage,
PARSE_OPT_SUBCOMMAND_OPTIONAL);
if (!fn) {
@@ -55,4 +55,31 @@ test_expect_success 'merge-tree' '
)
'
+test_expect_success 'notes' '
+ test_create_repo notes &&
+ (
+ test_commit initial &&
+
+ git -c core.notesRef=refs/notes/b notes add -m b initial &&
+
+ git update-ref refs/notes/r refs/notes/b &&
+ git -c core.notesRef=refs/notes/r notes add -f -m r initial &&
+
+ git update-ref refs/notes/l refs/notes/b &&
+ git config core.notesRef refs/notes/l &&
+ git notes add -f -m l initial &&
+
+ test_must_fail git notes merge r &&
+ ! grep "^|||||||" .git/NOTES_MERGE_WORKTREE/* &&
+
+ git notes merge --abort &&
+ test_must_fail git -c merge.conflictstyle=diff3 notes merge r &&
+ grep "^|||||||" .git/NOTES_MERGE_WORKTREE/* &&
+
+ git notes merge --abort &&
+ test_must_fail git -c merge.conflictstyle=merge notes merge r &&
+ ! grep "^|||||||" .git/NOTES_MERGE_WORKTREE/*
+ )
+'
+
test_done
Currently it's completely ignored. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- builtin/notes.c | 3 ++- t/t6440-config-conflict-markers.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-)