# HG changeset patch # User Pierre-Yves David # Date 2012-10-08 16:11:56 # Node ID 848c428bb5ee511c12358de3cc04a6189601384e # Parent 4908197d74227de5d6c9d127a1d1aca201706b4f largefile: status is buggy on repoproxy, so run unfiltered For some yet-unkown reason, largefile status does not work on repoproxy. As status is not affected by filtering, we run it unfiltered. Na'Tosha Bard's view on this issue: "but, well, largefiles status is kind of an unholy piece of code" diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -1064,6 +1064,9 @@ def scmutiladdremove(orig, repo, pats=[] # Calling purge with --all will cause the largefiles to be deleted. # Override repo.status to prevent this from happening. def overridepurge(orig, ui, repo, *dirs, **opts): + # XXX large file status is buggy when used on repo proxy. + # XXX this needs to be investigate. + repo = repo.unfiltered() oldstatus = repo.status def overridestatus(node1='.', node2=None, match=None, ignored=False, clean=False, unknown=False, listsubrepos=False): diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py --- a/hgext/largefiles/reposetup.py +++ b/hgext/largefiles/reposetup.py @@ -14,6 +14,7 @@ import os from mercurial import context, error, manifest, match as match_, util from mercurial import node as node_ from mercurial.i18n import _ +from mercurial import localrepo import lfcommands import proto @@ -88,6 +89,9 @@ def reposetup(ui, repo): # appropriate list in the result. Also removes standin files # from the listing. Revert to the original status if # self.lfstatus is False. + # XXX large file status is buggy when used on repo proxy. + # XXX this needs to be investigated. + @localrepo.unfilteredmeth def status(self, node1='.', node2=None, match=None, ignored=False, clean=False, unknown=False, listsubrepos=False): listignored, listclean, listunknown = ignored, clean, unknown