diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py +++ b/hgext/largefiles/lfutil.py @@ -136,8 +136,8 @@ def openlfdirstate(ui, repo, create=True def lfdirstatestatus(lfdirstate, repo, rev): match = match_.always(repo.root, repo.getcwd()) - s = lfdirstate.status(match, [], False, False, False) - unsure, modified, added, removed, missing, unknown, ignored, clean = s + unsure, s = lfdirstate.status(match, [], False, False, False) + modified, added, removed, missing, unknown, ignored, clean = s for lfile in unsure: try: fctx = repo[rev][standin(lfile)] diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -351,9 +351,9 @@ def overrideupdate(orig, ui, repo, *pats wlock = repo.wlock() try: lfdirstate = lfutil.openlfdirstate(ui, repo) - s = lfdirstate.status(match_.always(repo.root, repo.getcwd()), - [], False, False, False) - (unsure, modified, added, removed, missing, unknown, ignored, clean) = s + unsure, s = lfdirstate.status(match_.always(repo.root, repo.getcwd()), + [], False, False, False) + modified = s[0] if opts['check']: mod = len(modified) > 0 @@ -1110,9 +1110,9 @@ def scmutiladdremove(orig, repo, pats=[] return orig(repo, pats, opts, dry_run, similarity) # Get the list of missing largefiles so we can remove them lfdirstate = lfutil.openlfdirstate(repo.ui, repo) - s = lfdirstate.status(match_.always(repo.root, repo.getcwd()), [], False, - False, False) - (unsure, modified, added, removed, missing, unknown, ignored, clean) = s + unsure, s = lfdirstate.status(match_.always(repo.root, repo.getcwd()), [], + False, False, False) + missing = s[3] # Call into the normal remove code, but the removing of the standin, we want # to have handled by original addremove. Monkey patching here makes sure @@ -1288,9 +1288,10 @@ def mergeupdate(orig, repo, node, branch # update standins for linear-merge or force-branch-merge, # because largefiles in the working directory may be modified lfdirstate = lfutil.openlfdirstate(repo.ui, repo) - s = lfdirstate.status(match_.always(repo.root, repo.getcwd()), - [], False, False, False) - unsure, modified, added = s[:3] + unsure, s = lfdirstate.status(match_.always(repo.root, + repo.getcwd()), + [], False, False, False) + modified, added = s[:2] for lfile in unsure + modified + added: lfutil.updatestandin(repo, lfutil.standin(lfile)) diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py --- a/hgext/largefiles/reposetup.py +++ b/hgext/largefiles/reposetup.py @@ -159,10 +159,10 @@ def reposetup(ui, repo): if sfindirstate(f)] # Don't waste time getting the ignored and unknown # files from lfdirstate - s = lfdirstate.status(match, [], False, - listclean, False) - (unsure, modified, added, removed, missing, _unknown, - _ignored, clean) = s + unsure, s = lfdirstate.status(match, [], False, listclean, + False) + (modified, added, removed, missing, _unknown, _ignored, + clean) = s if parentworking: for lfile in unsure: standin = lfutil.standin(lfile) @@ -296,9 +296,9 @@ def reposetup(ui, repo): # large. lfdirstate = lfutil.openlfdirstate(ui, self) dirtymatch = match_.always(self.root, self.getcwd()) - s = lfdirstate.status(dirtymatch, [], False, False, False) - (unsure, modified, added, removed, _missing, _unknown, - _ignored, _clean) = s + unsure, s = lfdirstate.status(dirtymatch, [], False, False, + False) + modified, added, removed = s[:3] modifiedfiles = unsure + modified + added + removed lfiles = lfutil.listlfiles(self) # this only loops through largefiles that exist (not diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1418,9 +1418,9 @@ class workingctx(committablectx): subrepos = [] if '.hgsub' in self: subrepos = sorted(self.substate) - s = self._repo.dirstate.status(match, subrepos, listignored, - listclean, listunknown) - cmp, modified, added, removed, deleted, unknown, ignored, clean = s + cmp, s = self._repo.dirstate.status(match, subrepos, listignored, + listclean, listunknown) + modified, added, removed, deleted, unknown, ignored, clean = s # check for any possibly clean files if cmp: diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -809,8 +809,8 @@ class dirstate(object): def status(self, match, subrepos, ignored, clean, unknown): '''Determine the status of the working copy relative to the - dirstate and return a tuple of lists (unsure, modified, added, - removed, deleted, unknown, ignored, clean), where: + dirstate and return a nested tuple of lists (unsure, (modified, added, + removed, deleted, unknown, ignored, clean)), where: unsure: files that might have been modified since the dirstate was @@ -908,8 +908,8 @@ class dirstate(object): elif state == 'r': radd(fn) - return (lookup, modified, added, removed, deleted, unknown, ignored, - clean) + return (lookup, (modified, added, removed, deleted, unknown, ignored, + clean)) def matches(self, match): '''