struct notes_merge_options {
        const char *local_ref;
        const char *remote_ref;
-       const char *commit_msg;
+       struct strbuf commit_msg;
        int verbosity;
        enum {
                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;
 };
  * The resulting commit SHA1 is stored in result_sha1.
  */
 void create_notes_commit(struct notes_tree *t, struct commit_list *parents,
-                        const char *msg, unsigned char *result_sha1);
+                        const struct strbuf *msg, unsigned char *result_sha1);
 
 /*
  * Merge notes from o->remote_ref into o->local_ref