Greg Ward <greg@gerg.ca> [Sun, 02 Oct 2011 14:34:28 -0400] rev 15198
import: wrap a transaction around the whole command
Now 'rollback' after 'import' is less surprising: it rolls back all of
the imported changesets, not just the last one. As an extra added
benefit, you don't need 'rollback -f' after 'import --bypass', which
was an undesired side effect of fixing issue2998 (59e8bc22506e)..
Note that this is a different take on issue963, which complained that
rollback after importing multiple patches returned the working dir
parent to the starting point, not to the second-last patch applied.
Since we now rollback the entire import, returning the working dir to
the starting point is entirely logical. So this change also undoes
a732eebf1958, the fix to issue963, and updates its tests accordingly.
Bottom line: rollback after import was weird before issue963,
understandable since the fix for issue963, and even better now.
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:52:44 -0400] rev 15197
import: improve error reporting
When applying a series of patch files, it's nice to be explicitly told *which* file is broken.
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:51:25 -0400] rev 15196
import: join base with patchurl *after* checking for stdin
This only matters when using the deprecated --base option, and
combining --base with a patch on stdin makes no sense. But it's such
an obvious bug and easy fix that I couldn't pass it by.
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:49:04 -0400] rev 15195
import: rename some local variables
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:30:49 -0400] rev 15194
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.
Matt Mackall <mpm@selenic.com> [Fri, 07 Oct 2011 15:36:35 -0500] rev 15193
convert: fix crazy rollback call, broken by recent rollback safety checks
This was causing test-convert-cvs.t to fail.
Matt Mackall <mpm@selenic.com> [Sun, 02 Oct 2011 13:13:46 -0500] rev 15192
rst: fix detection of single-row tables
This fixes option lists for commands with only an --mq option.
Matt Mackall <mpm@selenic.com> [Sun, 02 Oct 2011 16:41:07 -0500] rev 15191
subrepo: fix repo relative path calculation for root directories (issue3033)
Matt Mackall <mpm@selenic.com> [Sun, 02 Oct 2011 13:02:15 -0500] rev 15190
subrepo: improve error message when svn isn't found
subprocess was returning the following unhelpful message:
abort: No such file or directory
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 16:19:33 -0500] rev 15189
merge with stable