Mercurial > public > mercurial-scm > hg-stable
diff mercurial/cmdutil.py @ 24472:1bf71faf042e
cmdutil: allow bailifchanged to ignore merging in progress
In "commands.update()", "cmdutil.bailifchanged()" isn't used for
"abort if the working directory is dirty", because it forcibly
examines about merging in progress.
"workingctx.dirty()" used in "commands.update()" can't detect changes
of largefiles in the working directory without "repo.lfstatus = True"
wrapping. This is only reason of "commands.update()" wrapping by
largefiles extension.
On the other hand, "cmdutil.bailifchanged()" already wrapped by
largefiles extension can detect changes of largefiles.
This patch is a preparations for replacing "workingctx.dirty()" and
raising Abort in "commands.update()" by "cmdutil.bailifchanged()". It
can remove redundant "commands.update()" wrapping.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 25 Mar 2015 13:55:35 +0900 |
parents | 1ff35d76421c |
children | 06cbff4674a3 |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Wed Mar 25 13:55:35 2015 +0900 +++ b/mercurial/cmdutil.py Wed Mar 25 13:55:35 2015 +0900 @@ -274,8 +274,8 @@ return p -def bailifchanged(repo): - if repo.dirstate.p2() != nullid: +def bailifchanged(repo, merge=True): + if merge and repo.dirstate.p2() != nullid: raise util.Abort(_('outstanding uncommitted merge')) modified, added, removed, deleted = repo.status()[:4] if modified or added or removed or deleted: