Mercurial > public > mercurial-scm > hg-stable
diff mercurial/simplemerge.py @ 14328:3c65cdcf3ba6 stable
simplemerge: do not allow binary files to abort an entire merge
When used as the default merge tool, or used as a --tool override,
the simplemerge script should not be allowed to raise a util.Abort
just because one of the files being merged is binary. Instead, return
1 and mark the file unresolved.
author | Steve Borho <steve@borho.org> |
---|---|
date | Fri, 13 May 2011 19:46:36 -0500 |
parents | 4cdaf1adafc8 |
children | abaacdab38f6 |
line wrap: on
line diff
--- a/mercurial/simplemerge.py Mon May 09 10:46:54 2011 +0200 +++ b/mercurial/simplemerge.py Fri May 13 19:46:36 2011 -0500 @@ -407,10 +407,10 @@ f.close() if util.binary(text): msg = _("%s looks like a binary file.") % filename + if not opts.get('quiet'): + ui.warn(_('warning: %s\n') % msg) if not opts.get('text'): raise util.Abort(msg) - elif not opts.get('quiet'): - ui.warn(_('warning: %s\n') % msg) return text name_a = local @@ -423,9 +423,12 @@ if labels: raise util.Abort(_("can only specify two labels.")) - localtext = readfile(local) - basetext = readfile(base) - othertext = readfile(other) + try: + localtext = readfile(local) + basetext = readfile(base) + othertext = readfile(other) + except util.Abort: + return 1 local = os.path.realpath(local) if not opts.get('print'):