Patchwork largefiles: drop the override for 'fetch'

login
register
mail settings
Submitter Matt Harbison
Date Dec. 2, 2014, 2:55 a.m.
Message ID <8d51ee46aaa6bb64b79a.1417488920@Envy>
Download mbox | patch
Permalink /patch/6936/
State Accepted
Headers show

Comments

Matt Harbison - Dec. 2, 2014, 2:55 a.m.
# HG changeset patch
# User Matt Harbison <matt_harbison@yahoo.com>
# Date 1417408231 18000
#      Sun Nov 30 23:30:31 2014 -0500
# Node ID 8d51ee46aaa6bb64b79aae1aec83947d4adb884e
# Parent  b913c394386f0a6ebbdcb7e321ff82816d7799fe
largefiles: drop the override for 'fetch'

The fetch extension has been calling cmdutil.bailifchanged() since a014fdc97154,
so this is redundant.  Add test coverage to prevent regression.  It doesn't look
like there is any testing for fetch with largefiles.
Pierre-Yves David - Dec. 2, 2014, 10:54 p.m.
On 12/01/2014 06:55 PM, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison <matt_harbison@yahoo.com>
> # Date 1417408231 18000
> #      Sun Nov 30 23:30:31 2014 -0500
> # Node ID 8d51ee46aaa6bb64b79aae1aec83947d4adb884e
> # Parent  b913c394386f0a6ebbdcb7e321ff82816d7799fe
> largefiles: drop the override for 'fetch'

Good cleanup, thanks.

Pushed to the clowncopter, thanks.

Patch

diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -927,7 +927,7 @@ 
 # If a largefile is modified, the change is not reflected in its
 # standin until a commit. cmdutil.bailifchanged() raises an exception
 # if the repo has uncommitted changes. Wrap it to also check if
-# largefiles were changed. This is used by bisect and backout.
+# largefiles were changed. This is used by bisect, backout and fetch.
 def overridebailifchanged(orig, repo):
     orig(repo)
     repo.lfstatus = True
@@ -936,15 +936,6 @@ 
     if s.modified or s.added or s.removed or s.deleted:
         raise util.Abort(_('uncommitted changes'))
 
-# Fetch doesn't use cmdutil.bailifchanged so override it to add the check
-def overridefetch(orig, ui, repo, *pats, **opts):
-    repo.lfstatus = True
-    s = repo.status()
-    repo.lfstatus = False
-    if s.modified or s.added or s.removed or s.deleted:
-        raise util.Abort(_('uncommitted changes'))
-    return orig(ui, repo, *pats, **opts)
-
 def overrideforget(orig, ui, repo, *pats, **opts):
     installnormalfilesmatchfn(repo[None].manifest())
     result = orig(ui, repo, *pats, **opts)
diff --git a/hgext/largefiles/uisetup.py b/hgext/largefiles/uisetup.py
--- a/hgext/largefiles/uisetup.py
+++ b/hgext/largefiles/uisetup.py
@@ -160,9 +160,6 @@ 
 
     # override some extensions' stuff as well
     for name, module in extensions.extensions():
-        if name == 'fetch':
-            extensions.wrapcommand(getattr(module, 'cmdtable'), 'fetch',
-                overrides.overridefetch)
         if name == 'purge':
             extensions.wrapcommand(getattr(module, 'cmdtable'), 'purge',
                 overrides.overridepurge)
diff --git a/tests/test-largefiles-misc.t b/tests/test-largefiles-misc.t
--- a/tests/test-largefiles-misc.t
+++ b/tests/test-largefiles-misc.t
@@ -67,6 +67,11 @@ 
   dirc/baz/largefile
   dirc/dirb
   dirc/dirb/largefile
+
+  $ hg clone -q . ../fetch
+  $ hg --config extensions.fetch= fetch ../fetch
+  abort: uncommitted changes
+  [255]
   $ hg up -qC
   $ cd ..