Mercurial > public > mercurial-scm > hg
diff mercurial/commands.py @ 15194:0705f2ac79d6
import: simplify status reporting logic (and make it more I18N-friendly)
The old code printed (with ui.status()) the changeset ID created by
patch N after committing patch N+1, e.g.
applying patch1
applying patch2
applied 1d4bd90af0e4
where 1d4bd90af0e4 is the changeset ID resulting from patch1. That's
just weird. It's also inconsistent: we only reported the changeset ID
when applying >1 patches. And it's inconsistent with 'commit', which
only tells you the new changeset ID in verbose mode. Finally, the
existing code was I18N-hostile, since it concatenated translated
strings.
The new way is to print the just-created changeset ID with ui.note()
immediately after committing it. It also clarifies what the user
message is for easier I18N.
author | Greg Ward <greg@gerg.ca> |
---|---|
date | Sat, 01 Oct 2011 21:30:49 -0400 |
parents | 3834ca04664a |
children | 5b2a3bb06cef |
line wrap: on
line diff
--- a/mercurial/commands.py Fri Oct 07 15:36:35 2011 -0500 +++ b/mercurial/commands.py Sat Oct 01 21:30:49 2011 -0400 @@ -3276,8 +3276,8 @@ patch.extract(ui, hunk) if not tmpname: - return None - commitid = _('to working directory') + return (None, None) + msg = _('applied to working directory') try: cmdline_message = cmdutil.logmessage(ui, opts) @@ -3362,8 +3362,8 @@ finally: store.close() if n: - commitid = short(n) - return commitid + msg = _('created %s') % short(n) + return (msg, n) finally: os.unlink(tmpname) @@ -3371,7 +3371,6 @@ wlock = repo.wlock() lock = repo.lock() parents = repo.parents() - lastcommit = None for p in patches: pf = os.path.join(d, p) @@ -3384,16 +3383,14 @@ haspatch = False for hunk in patch.split(pf): - commitid = tryone(ui, hunk, parents) - if commitid: + (msg, node) = tryone(ui, hunk, parents) + if msg: haspatch = True - if lastcommit: - ui.status(_('applied %s\n') % lastcommit) - lastcommit = commitid + ui.note(msg + '\n') if update or opts.get('exact'): parents = repo.parents() else: - parents = [repo[commitid]] + parents = [repo[node]] if not haspatch: raise util.Abort(_('no diffs found'))