Show More
@@ -34,7 +34,7 b' def reposetup(ui, repo):' | |||||
34 | # their actual contents. |
|
34 | # their actual contents. | |
35 | def __getitem__(self, changeid): |
|
35 | def __getitem__(self, changeid): | |
36 | ctx = super(lfilesrepo, self).__getitem__(changeid) |
|
36 | ctx = super(lfilesrepo, self).__getitem__(changeid) | |
37 | if self.lfstatus: |
|
37 | if self.unfiltered().lfstatus: | |
38 | class lfilesmanifestdict(manifest.manifestdict): |
|
38 | class lfilesmanifestdict(manifest.manifestdict): | |
39 | def __contains__(self, filename): |
|
39 | def __contains__(self, filename): | |
40 | orig = super(lfilesmanifestdict, self).__contains__ |
|
40 | orig = super(lfilesmanifestdict, self).__contains__ | |
@@ -72,19 +72,20 b' def reposetup(ui, repo):' | |||||
72 | # appropriate list in the result. Also removes standin files |
|
72 | # appropriate list in the result. Also removes standin files | |
73 | # from the listing. Revert to the original status if |
|
73 | # from the listing. Revert to the original status if | |
74 | # self.lfstatus is False. |
|
74 | # self.lfstatus is False. | |
75 | # XXX large file status is buggy when used on repo proxy. |
|
|||
76 | # XXX this needs to be investigated. |
|
|||
77 | @localrepo.unfilteredmethod |
|
|||
78 | def status(self, node1='.', node2=None, match=None, ignored=False, |
|
75 | def status(self, node1='.', node2=None, match=None, ignored=False, | |
79 | clean=False, unknown=False, listsubrepos=False): |
|
76 | clean=False, unknown=False, listsubrepos=False): | |
80 | listignored, listclean, listunknown = ignored, clean, unknown |
|
77 | listignored, listclean, listunknown = ignored, clean, unknown | |
81 | orig = super(lfilesrepo, self).status |
|
78 | orig = super(lfilesrepo, self).status | |
82 | if not self.lfstatus: |
|
79 | ||
|
80 | # When various overrides set repo.lfstatus, the change is redirected | |||
|
81 | # to the unfiltered repo, and self.lfstatus is always false when | |||
|
82 | # this repo is filtered. | |||
|
83 | if not self.unfiltered().lfstatus: | |||
83 | return orig(node1, node2, match, listignored, listclean, |
|
84 | return orig(node1, node2, match, listignored, listclean, | |
84 | listunknown, listsubrepos) |
|
85 | listunknown, listsubrepos) | |
85 |
|
86 | |||
86 | # some calls in this function rely on the old version of status |
|
87 | # some calls in this function rely on the old version of status | |
87 | self.lfstatus = False |
|
88 | self.unfiltered().lfstatus = False | |
88 | ctx1 = self[node1] |
|
89 | ctx1 = self[node1] | |
89 | ctx2 = self[node2] |
|
90 | ctx2 = self[node2] | |
90 | working = ctx2.rev() is None |
|
91 | working = ctx2.rev() is None | |
@@ -240,7 +241,7 b' def reposetup(ui, repo):' | |||||
240 | if wlock: |
|
241 | if wlock: | |
241 | wlock.release() |
|
242 | wlock.release() | |
242 |
|
243 | |||
243 | self.lfstatus = True |
|
244 | self.unfiltered().lfstatus = True | |
244 | return scmutil.status(*result) |
|
245 | return scmutil.status(*result) | |
245 |
|
246 | |||
246 | def commitctx(self, ctx, *args, **kwargs): |
|
247 | def commitctx(self, ctx, *args, **kwargs): |
General Comments 0
You need to be logged in to leave comments.
Login now