diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-08-31 15:39:05 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-31 15:39:05 -0700 |
commit | 5b6211aee1f042a6961ef8a6bd8286db51bfc513 (patch) | |
tree | 45e6790acc7705d569c35418bef0ade2c2436c22 /notes-utils.c | |
parent | d75bb73bcf2ecce38c147980aac0cbc27a6b838a (diff) | |
parent | 4f655e22b76fed49b0c32bcdcd899934215b9a6d (diff) | |
download | git-5b6211aee1f042a6961ef8a6bd8286db51bfc513.tar.gz |
Merge branch 'jk/notes-merge-config'
"git notes merge" can be told with "--strategy=<how>" option how to
automatically handle conflicts; this can now be configured by
setting notes.mergeStrategy configuration variable.
* jk/notes-merge-config:
notes: teach git-notes about notes.<name>.mergeStrategy option
notes: add notes.mergeStrategy option to select default strategy
notes: add tests for --commit/--abort/--strategy exclusivity
notes: extract parse_notes_merge_strategy to notes-utils
notes: extract enum notes_merge_strategy to notes-utils.h
notes: document cat_sort_uniq rewriteMode
Diffstat (limited to 'notes-utils.c')
-rw-r--r-- | notes-utils.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/notes-utils.c b/notes-utils.c index ccbf0737a3..299e34bccc 100644 --- a/notes-utils.c +++ b/notes-utils.c @@ -54,6 +54,24 @@ void commit_notes(struct notes_tree *t, const char *msg) strbuf_release(&buf); } +int parse_notes_merge_strategy(const char *v, enum notes_merge_strategy *s) +{ + if (!strcmp(v, "manual")) + *s = NOTES_MERGE_RESOLVE_MANUAL; + else if (!strcmp(v, "ours")) + *s = NOTES_MERGE_RESOLVE_OURS; + else if (!strcmp(v, "theirs")) + *s = NOTES_MERGE_RESOLVE_THEIRS; + else if (!strcmp(v, "union")) + *s = NOTES_MERGE_RESOLVE_UNION; + else if (!strcmp(v, "cat_sort_uniq")) + *s = NOTES_MERGE_RESOLVE_CAT_SORT_UNIQ; + else + return -1; + + return 0; +} + static combine_notes_fn parse_combine_notes_fn(const char *v) { if (!strcasecmp(v, "overwrite")) |