diff -r 15b8a652b558 -r 0e0a52bd58f9 mercurial/commands.py --- a/mercurial/commands.py Tue Nov 02 09:47:47 2010 +0100 +++ b/mercurial/commands.py Thu Oct 21 16:04:34 2010 -0500 @@ -2279,6 +2279,7 @@ d = opts["base"] strip = opts["strip"] wlock = lock = None + msgs = [] def tryone(ui, hunk): tmpname, message, user, date, branch, nodeid, p1, p2 = \ @@ -2329,7 +2330,10 @@ finally: files = cmdutil.updatedir(ui, repo, files, similarity=sim / 100.0) - if not opts.get('no_commit'): + if opts.get('no_commit'): + if message: + msgs.append(message) + else: if opts.get('exact'): m = None else: @@ -2378,6 +2382,8 @@ if not haspatch: raise util.Abort(_('no diffs found')) + if msgs: + repo.opener('last-message.txt', 'wb').write('* * *\n'.join(msgs)) finally: release(lock, wlock)