# # # patch "NEWS" # from [6497507f4ede2a4e15eb85e875a69ae954c7b8b0] # to [b5297343f6fc0f0985782eaa4f799c4158b4fb2b] # # patch "cmd_merging.cc" # from [d750147546d2fdd56e181c69281892c9569a845e] # to [516067349bcc91e3955427cf7c1b0087d8ed5889] # # patch "commands.cc" # from [8efefe3c8beba45e073c7312345da580d459de4a] # to [a58e6af25a18b927b9fc868757935706cf8924d7] # # patch "monotone.texi" # from [5afa7f0f2b0f8a5942eb6ff0c60c91a5ffe495f5] # to [11d4354e74d72c3e6184e7c6946bf5e163d40922] # # patch "options_list.hh" # from [33dcbef544509e22c90174564e09c027a5ffdd59] # to [f8e7d28b9c65b05918602919dfe526b7ef549fbe] # # patch "tests/schema_migration_with_rosterify/__driver__.lua" # from [5b2bd19e135432bf53511d7fd1f422b5177544c4] # to [80ac89fc45999c5cf8285062b2fca14ce9c962b8] # ============================================================ --- NEWS 6497507f4ede2a4e15eb85e875a69ae954c7b8b0 +++ NEWS b5297343f6fc0f0985782eaa4f799c4158b4fb2b @@ -19,7 +19,7 @@ - The Lua-based contributed Monotone extension introduced in 0.38 haven't been added to the tarball; this has been fixed. - + New features - New 'mtn ls duplicates' command which lets you list @@ -28,6 +28,13 @@ - New option --no-workspace, to make monotone ignore any workspace it might have been run in. + - New command group 'mtn conflicts *'; provides asynchronous + conflict resolutions for merge and propagate. + + - 'merge' and 'propagate' accept user commit messages; the + 'merge rev rev' or 'propagate branch branch' message will be + prefixed to the user message. --no-prefix removes the prefix. + Internal - Update Botan to 1.7.12. ============================================================ --- cmd_merging.cc d750147546d2fdd56e181c69281892c9569a845e +++ cmd_merging.cc 516067349bcc91e3955427cf7c1b0087d8ed5889 @@ -505,8 +505,8 @@ CMD(propagate, "propagate", "", CMD_REF( N_("SOURCE-BRANCH DEST-BRANCH"), N_("Merges from one branch to another asymmetrically"), "", - options::opts::date | options::opts::author | options::opts::message | options::opts::msgfile | - options::opts::messages | options::opts::resolve_conflicts_opts) + options::opts::date | options::opts::author | options::opts::messages | + options::opts::resolve_conflicts_opts) { if (args.size() != 2) throw usage(execid); ============================================================ --- commands.cc 8efefe3c8beba45e073c7312345da580d459de4a +++ commands.cc a58e6af25a18b927b9fc868757935706cf8924d7 @@ -204,7 +204,7 @@ namespace commands { I(this != CMD_REF(__root__)); command_id i; - + if (parent() != CMD_REF(__root__)) i = parent()->ident(); i.push_back(primary_name()); @@ -267,7 +267,7 @@ namespace commands { { return abstract() + ".\n" + safe_gettext(m_desc().c_str()); } - + command::names_set command::subcommands(void) const { @@ -919,7 +919,7 @@ process_commit_message_args(options cons string msg; join_lines(opts.message, msg); log_message = utf8(msg); - if (message_prefix().length() != 0) + if (!opts.no_prefix && message_prefix().length() != 0) log_message = utf8(message_prefix() + "\n\n" + log_message()); given = true; } @@ -929,7 +929,7 @@ process_commit_message_args(options cons read_data_for_command_line(opts.msgfile, dat); external dat2 = external(dat()); system_to_utf8(dat2, log_message); - if (message_prefix().length() != 0) + if (!opts.no_prefix && message_prefix().length() != 0) log_message = utf8(message_prefix() + "\n\n" + log_message()); given = true; } @@ -1063,7 +1063,7 @@ UNIT_TEST(commands, command_complete_com UNIT_TEST_CHECK(*matches.begin() == make_command_id("alias1")); } - // Single-word identifier with multiple matches. + // Single-word identifier with multiple matches. { command_id id = make_command_id("tes"); set< command_id > matches = CMD_REF(top)->complete_command(id); ============================================================ --- monotone.texi 5afa7f0f2b0f8a5942eb6ff0c60c91a5ffe495f5 +++ monotone.texi 11d4354e74d72c3e6184e7c6946bf5e163d40922 @@ -4573,6 +4573,9 @@ @section Tree resulting merged revision as a member of @var{branchname}. The merged revision will contain each of the head revision IDs as ancestors. +A commit message may be provided. A message stating the revision ids +that were merged will be prepended to any user commit message. + Merging is performed by repeated pairwise merges: two heads are selected, then their least common ancestor is located in the ancestry graph and these 3 revisions are provided to the built-in 3-way merge @@ -4587,6 +4590,9 @@ @section Tree either @var{sourcebranch} or @var{destbranch} has multiple heads, @command{propagate} aborts, doing nothing. +A commit message may be provided. A message stating the source and +target branches will be prepended to any user commit message. + The purpose of @command{propagate} is to copy all the changes on @var{sourcebranch}, since the last @command{propagate}, to @var{destbranch}. This command supports the idea of making separate ============================================================ --- options_list.hh 33dcbef544509e22c90174564e09c027a5ffdd59 +++ options_list.hh f8e7d28b9c65b05918602919dfe526b7ef549fbe @@ -405,6 +405,7 @@ OPTVAR(messages, utf8, msgfile, ) OPTSET(messages) OPTVAR(messages, std::vector, message, ) OPTVAR(messages, utf8, msgfile, ) +OPTVAR(messages, bool, no_prefix, false) OPTION(messages, message, true, "message,m", gettext_noop("set commit changelog message")) #ifdef option_bodies @@ -419,6 +420,13 @@ OPTION(messages, msgfile, true, "message msgfile = utf8(arg); } #endif +OPTION(messages, no_prefix, false, "no-prefix", + gettext_noop("no prefix to message")) +#ifdef option_bodies +{ + no_prefix = true; +} +#endif OPT(missing, "missing", bool, false, gettext_noop("perform the operations for files missing from workspace")) ============================================================ --- tests/schema_migration_with_rosterify/__driver__.lua 5b2bd19e135432bf53511d7fd1f422b5177544c4 +++ tests/schema_migration_with_rosterify/__driver__.lua 80ac89fc45999c5cf8285062b2fca14ce9c962b8 @@ -48,7 +48,7 @@ check(mtn("propagate", "testbranch2", "t check(get("old_revs_propagate_log")) check(mtn("propagate", "testbranch2", "testbranch1", - "--message-file=old_revs_propagate_log"), 0, false, false) + "--message-file=old_revs_propagate_log", "--no-prefix"), 0, false, false) check(mtn("update"), 0, false, false) check(mtn("drop", "--bookkeep-only", "testfile1"), 0, false, false)