Mercurial > hg-stable
changeset 18012:848c428bb5ee
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"
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Mon, 08 Oct 2012 18:11:56 +0200 |
parents | 4908197d7422 |
children | 98c867ac1330 |
files | hgext/largefiles/overrides.py hgext/largefiles/reposetup.py |
diffstat | 2 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py Mon Oct 08 20:01:40 2012 +0200 +++ b/hgext/largefiles/overrides.py Mon Oct 08 18:11:56 2012 +0200 @@ -1064,6 +1064,9 @@ # 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):
--- a/hgext/largefiles/reposetup.py Mon Oct 08 20:01:40 2012 +0200 +++ b/hgext/largefiles/reposetup.py Mon Oct 08 18:11:56 2012 +0200 @@ -14,6 +14,7 @@ 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 @@ # 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