# HG changeset patch # User Martin von Zweigbergk # Date 2014-10-01 21:48:42 # Node ID a014fdc971544fadc50d350e6cc270bbada99e2a # Parent 4e64d255f1a873840312c870a53d8f8ff23c08ed 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. diff --git a/hgext/fetch.py b/hgext/fetch.py --- a/hgext/fetch.py +++ b/hgext/fetch.py @@ -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 @@ def fetch(ui, repo, source='default', ** 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 @@ def fetch(ui, repo, source='default', ** 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: diff --git a/tests/test-fetch.t b/tests/test-fetch.t --- a/tests/test-fetch.t +++ b/tests/test-fetch.t @@ -150,7 +150,7 @@ should merge f into g 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