summaryrefslogtreecommitdiff
path: root/notes-merge.h
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2010-11-14 23:57:17 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-11-17 21:22:53 (GMT)
commita6a09095a08339afc8468d053ff978ed4662a1d5 (patch)
tree915beb0e1f4fbe5fe5932b8188a1ac983c7ed786 /notes-merge.h
parent6cfd6a9dea889707fa207ee2003010c3b56b2131 (diff)
downloadgit-a6a09095a08339afc8468d053ff978ed4662a1d5.zip
git-a6a09095a08339afc8468d053ff978ed4662a1d5.tar.gz
git-a6a09095a08339afc8468d053ff978ed4662a1d5.tar.bz2
git notes merge: Add another auto-resolving strategy: "cat_sort_uniq"
This new strategy is similar to "concatenate", but in addition to concatenating the two note candidates, this strategy sorts the resulting lines, and removes duplicate lines from the result. This is equivalent to applying the "cat | sort | uniq" shell pipeline to the two note candidates. This strategy is useful if the notes follow a line-based format where one wants to avoid duplicate lines in the merge result. Note that if either of the note candidates contain duplicate lines _prior_ to the merge, these will also be removed by this merge strategy. The patch also contains tests and documentation for the new strategy. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'notes-merge.h')
-rw-r--r--notes-merge.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/notes-merge.h b/notes-merge.h
index 195222f..168a672 100644
--- a/notes-merge.h
+++ b/notes-merge.h
@@ -17,7 +17,8 @@ struct notes_merge_options {
NOTES_MERGE_RESOLVE_MANUAL = 0,
NOTES_MERGE_RESOLVE_OURS,
NOTES_MERGE_RESOLVE_THEIRS,
- NOTES_MERGE_RESOLVE_UNION
+ NOTES_MERGE_RESOLVE_UNION,
+ NOTES_MERGE_RESOLVE_CAT_SORT_UNIQ
} strategy;
unsigned has_worktree:1;
};