fetch: use cmdutil.bailifchanged()
Use the existing method cmdutil.bailifchanged() instead of
implementing it again in fetch.py. An effect of this is that the error
messages in case of uncommited changes will be different.
--- a/hgext/fetch.py Thu Oct 02 18:00:05 2014 -0500
+++ b/hgext/fetch.py Wed Oct 01 14:48:42 2014 -0700
@@ -8,7 +8,7 @@
'''pull, update and merge in one command (DEPRECATED)'''
from mercurial.i18n import _
-from mercurial.node import nullid, short
+from mercurial.node import short
from mercurial import commands, cmdutil, hg, util, error
from mercurial.lock import release
@@ -48,7 +48,7 @@
if date:
opts['date'] = util.parsedate(date)
- parent, p2 = repo.dirstate.parents()
+ parent, _p2 = repo.dirstate.parents()
branch = repo.dirstate.branch()
try:
branchnode = repo.branchtip(branch)
@@ -58,19 +58,13 @@
raise util.Abort(_('working dir not at branch tip '
'(use "hg update" to check out branch tip)'))
- if p2 != nullid:
- raise util.Abort(_('outstanding uncommitted merge'))
-
wlock = lock = None
try:
wlock = repo.wlock()
lock = repo.lock()
- mod, add, rem, del_ = repo.status()[:4]
- if mod or add or rem:
- raise util.Abort(_('outstanding uncommitted changes'))
- if del_:
- raise util.Abort(_('working directory is missing some files'))
+ cmdutil.bailifchanged(repo)
+
bheads = repo.branchheads(branch)
bheads = [head for head in bheads if len(repo[head].children()) == 0]
if len(bheads) > 1:
--- a/tests/test-fetch.t Thu Oct 02 18:00:05 2014 -0500
+++ b/tests/test-fetch.t Wed Oct 01 14:48:42 2014 -0700
@@ -150,7 +150,7 @@
should abort, because i is modified
$ hg --cwd i fetch ../h
- abort: working directory is missing some files
+ abort: uncommitted changes
[255]
test fetch with named branches