Mercurial > hg
changeset 6950:381a892159d9
record: catch PatchErrors from internalpatch and display error message
This resulted in big ugly tracebacks in issue1282, for example.
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Sun, 31 Aug 2008 11:36:07 +0200 |
parents | 834f7e069cae |
children | c8c9ce0ed3ee d76f64cd4cb2 |
files | hgext/record.py |
diffstat | 1 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/record.py Sun Aug 31 11:34:52 2008 +0200 +++ b/hgext/record.py Sun Aug 31 11:36:07 2008 +0200 @@ -468,9 +468,16 @@ # 3b. (apply) if dopatch: - ui.debug('applying patch\n') - ui.debug(fp.getvalue()) - patch.internalpatch(fp, ui, 1, repo.root) + try: + ui.debug('applying patch\n') + ui.debug(fp.getvalue()) + patch.internalpatch(fp, ui, 1, repo.root) + except patch.PatchError, err: + s = str(err) + if s: + raise util.Abort(s) + else: + raise util.Abort(_('patch failed to apply')) del fp # 4. We prepared working directory according to filtered patch.