From patchwork Tue Sep 23 21:46:11 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [6,of,8,v2] largefiles: only reset status fields where needed From: Martin von Zweigbergk X-Patchwork-Id: 5928 Message-Id: <06769b7fbba93d10fc2e.1411508771@handduk2.mtv.corp.google.com> To: mercurial-devel@selenic.com Date: Tue, 23 Sep 2014 14:46:11 -0700 # HG changeset patch # User Martin von Zweigbergk # Date 1410906484 25200 # Tue Sep 16 15:28:04 2014 -0700 # Node ID 06769b7fbba93d10fc2e7cf7967779eb838f61a6 # Parent a6e0710be72f0df3e84ef410b9f34d86a9990bd4 largefiles: only reset status fields where needed Part of lfilesrepo.status() looks as follows. If 'listunknown' (etc.) is false, the result from orig() should naturally not contain any unknown files. There is therefore no need to clear these fields unless the path was taken, so move the clearing into that block. result = orig(node1, node2, m, listignored, listclean, listunknown, listsubrepos) if : // modify 'result' if not listunknown: result[4] = [] // similar for ignored and clean files return result; diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py --- a/hgext/largefiles/reposetup.py +++ b/hgext/largefiles/reposetup.py @@ -226,6 +226,12 @@ lfiles = (modified, added, removed, missing, [], [], clean) result = [sorted(list1 + list2) for (list1, list2) in zip(normals, lfiles)] + if not listunknown: + result[4] = [] + if not listignored: + result[5] = [] + if not listclean: + result[6] = [] else: def toname(f): if lfutil.isstandin(f): @@ -241,12 +247,6 @@ if wlock: wlock.release() - if not listunknown: - result[4] = [] - if not listignored: - result[5] = [] - if not listclean: - result[6] = [] self.lfstatus = True return result