diff -r 77995317b374 -r 84de71ec5c61 mercurial/commands.py --- a/mercurial/commands.py Wed Dec 02 03:12:07 2015 +0900 +++ b/mercurial/commands.py Wed Dec 02 03:12:08 2015 +0900 @@ -4557,11 +4557,6 @@ if opts.get('exact') and opts.get('prefix'): raise error.Abort(_('cannot use --exact with --prefix')) - if update: - cmdutil.checkunfinished(repo) - if (opts.get('exact') or not opts.get('force')) and update: - cmdutil.bailifchanged(repo) - base = opts["base"] wlock = dsguard = lock = tr = None msgs = [] @@ -4571,6 +4566,12 @@ try: try: wlock = repo.wlock() + + if update: + cmdutil.checkunfinished(repo) + if (opts.get('exact') or not opts.get('force')) and update: + cmdutil.bailifchanged(repo) + if not opts.get('no_commit'): lock = repo.lock() tr = repo.transaction('import')