# HG changeset patch # User Vadim Gelfer # Date 1155426012 25200 # Node ID 3d6efcbbd1c9c3ed3c26a634406c4c24a72cbc22 # Parent 4ec58b157265754d670ae29c168c67f7f83a7fb0 remove localrepository.changes. use localrepository.status instead. diff -r 4ec58b157265 -r 3d6efcbbd1c9 hgext/extdiff.py --- a/hgext/extdiff.py Sat Aug 12 16:13:27 2006 -0700 +++ b/hgext/extdiff.py Sat Aug 12 16:40:12 2006 -0700 @@ -80,8 +80,8 @@ node1, node2 = commands.revpair(ui, repo, opts['rev']) files, matchfn, anypats = commands.matchpats(repo, pats, opts) - modified, added, removed, deleted, unknown = repo.changes( - node1, node2, files, match=matchfn) + modified, added, removed, deleted, unknown = repo.status( + node1, node2, files, match=matchfn)[:5] if not (modified or added or removed): return 0 diff -r 4ec58b157265 -r 3d6efcbbd1c9 hgext/gpg.py --- a/hgext/gpg.py Sat Aug 12 16:13:27 2006 -0700 +++ b/hgext/gpg.py Sat Aug 12 16:40:12 2006 -0700 @@ -221,7 +221,7 @@ repo.opener("localsigs", "ab").write(sigmessage) return - for x in repo.changes(): + for x in repo.status()[:5]: if ".hgsigs" in x and not opts["force"]: raise util.Abort(_("working copy of .hgsigs is changed " "(please commit .hgsigs manually " diff -r 4ec58b157265 -r 3d6efcbbd1c9 hgext/hbisect.py --- a/hgext/hbisect.py Sat Aug 12 16:13:27 2006 -0700 +++ b/hgext/hbisect.py Sat Aug 12 16:40:12 2006 -0700 @@ -23,10 +23,10 @@ return parents.pop() def check_clean(ui, repo): - modified, added, removed, deleted, unknown = repo.changes() - if modified or added or removed: - ui.warn("Repository is not clean, please commit or revert\n") - sys.exit(1) + modified, added, removed, deleted, unknown = repo.status()[:5] + if modified or added or removed: + ui.warn("Repository is not clean, please commit or revert\n") + sys.exit(1) class bisect(object): """dichotomic search in the DAG of changesets""" diff -r 4ec58b157265 -r 3d6efcbbd1c9 hgext/hgk.py --- a/hgext/hgk.py Sat Aug 12 16:13:27 2006 -0700 +++ b/hgext/hgk.py Sat Aug 12 16:40:12 2006 -0700 @@ -14,7 +14,7 @@ return time.asctime(time.gmtime(c[2][0])) if not changes: - changes = repo.changes(node1, node2, files, match=match) + changes = repo.status(node1, node2, files, match=match)[:5] modified, added, removed, deleted, unknown = changes if files: modified, added, removed = map(lambda x: filterfiles(files, x), @@ -67,12 +67,12 @@ if node2: change = repo.changelog.read(node2) mmap2 = repo.manifest.read(change[0]) - modified, added, removed, deleted, unknown = repo.changes(node1, node2) + modified, added, removed, deleted, unknown = repo.status(node1, node2)[:5] def read(f): return repo.file(f).read(mmap2[f]) date2 = date(change) else: date2 = time.asctime() - modified, added, removed, deleted, unknown = repo.changes(node1) + modified, added, removed, deleted, unknown = repo.status(node1)[:5] if not node1: node1 = repo.dirstate.parents()[0] def read(f): return file(os.path.join(repo.root, f)).read() diff -r 4ec58b157265 -r 3d6efcbbd1c9 hgext/mq.py --- a/hgext/mq.py Sat Aug 12 16:13:27 2006 -0700 +++ b/hgext/mq.py Sat Aug 12 16:40:12 2006 -0700 @@ -533,19 +533,20 @@ raise util.Abort(_("queue top not at same revision as working directory")) return top return None - def check_localchanges(self, repo): - (c, a, r, d, u) = repo.changes(None, None) - if c or a or d or r: - raise util.Abort(_("local changes found, refresh first")) + def check_localchanges(self, repo, force=False, refresh=True): + m, a, r, d = repo.status()[:4] + if m or a or r or d: + if not force: + if refresh: + raise util.Abort(_("local changes found, refresh first")) + else: + raise util.Abort(_("local changes found")) + return m, a, r, d def new(self, repo, patch, msg=None, force=None): if os.path.exists(self.join(patch)): raise util.Abort(_('patch "%s" already exists') % patch) - commitfiles = [] - (c, a, r, d, u) = repo.changes(None, None) - if c or a or d or r: - if not force: - raise util.Abort(_("local changes found, refresh first")) - commitfiles = c + a + r + m, a, r, d = self.check_localchanges(repo, force) + commitfiles = m + a + r self.check_toppatch(repo) wlock = repo.wlock() insert = self.full_series_end() @@ -659,9 +660,7 @@ revnum = chlog.rev(rev) if update: - (c, a, r, d, u) = repo.changes(None, None) - if c or a or d or r: - raise util.Abort(_("local changes found")) + self.check_localchanges(repo, refresh=False) urev = self.qparents(repo, rev) hg.clean(repo, urev, wlock=wlock) repo.dirstate.write() @@ -899,15 +898,15 @@ qp = self.qparents(repo, rev) changes = repo.changelog.read(qp) mmap = repo.manifest.read(changes[0]) - (c, a, r, d, u) = repo.changes(qp, top) + m, a, r, d, u = repo.status(qp, top)[:5] if d: raise util.Abort("deletions found between repo revs") - for f in c: + for f in m: getfile(f, mmap[f]) for f in r: getfile(f, mmap[f]) util.set_exec(repo.wjoin(f), mmap.execf(f)) - repo.dirstate.update(c + r, 'n') + repo.dirstate.update(m + r, 'n') for f in a: try: os.unlink(repo.wjoin(f)) except: raise @@ -970,30 +969,30 @@ # patch already # # this should really read: - #(cc, dd, aa, aa2, uu) = repo.changes(tip, patchparent) + # mm, dd, aa, aa2, uu = repo.status(tip, patchparent)[:5] # but we do it backwards to take advantage of manifest/chlog - # caching against the next repo.changes call + # caching against the next repo.status call # - (cc, aa, dd, aa2, uu) = repo.changes(patchparent, tip) + mm, aa, dd, aa2, uu = repo.status(patchparent, tip)[:5] if short: - filelist = cc + aa + dd + filelist = mm + aa + dd else: filelist = None - (c, a, r, d, u) = repo.changes(None, None, filelist) + m, a, r, d, u = repo.status(files=filelist)[:5] # we might end up with files that were added between tip and # the dirstate parent, but then changed in the local dirstate. # in this case, we want them to only show up in the added section - for x in c: + for x in m: if x not in aa: - cc.append(x) + mm.append(x) # we might end up with files added by the local dirstate that # were deleted by the patch. In this case, they should only # show up in the changed section. for x in a: if x in dd: del dd[dd.index(x)] - cc.append(x) + mm.append(x) else: aa.append(x) # make sure any files deleted in the local dirstate @@ -1004,23 +1003,23 @@ del aa[aa.index(x)] forget.append(x) continue - elif x in cc: - del cc[cc.index(x)] + elif x in mm: + del mm[mm.index(x)] dd.append(x) - c = list(util.unique(cc)) + m = list(util.unique(mm)) r = list(util.unique(dd)) a = list(util.unique(aa)) - filelist = list(util.unique(c + r + a )) + filelist = list(util.unique(m + r + a)) self.printdiff(repo, patchparent, files=filelist, - changes=(c, a, r, [], u), fp=patchf) + changes=(m, a, r, [], u), fp=patchf) patchf.close() changes = repo.changelog.read(tip) repo.dirstate.setparents(*cparents) repo.dirstate.update(a, 'a') repo.dirstate.update(r, 'r') - repo.dirstate.update(c, 'n') + repo.dirstate.update(m, 'n') repo.dirstate.forget(forget) if not msg: diff -r 4ec58b157265 -r 3d6efcbbd1c9 mercurial/commands.py --- a/mercurial/commands.py Sat Aug 12 16:13:27 2006 -0700 +++ b/mercurial/commands.py Sat Aug 12 16:40:12 2006 -0700 @@ -21,7 +21,7 @@ """Exception raised if command shortcut matches more than one command.""" def bail_if_changed(repo): - modified, added, removed, deleted, unknown = repo.changes() + modified, added, removed, deleted = repo.status()[:4] if modified or added or removed or deleted: raise util.Abort(_("outstanding uncommitted changes")) @@ -443,7 +443,7 @@ self.ui.status(_("date: %s\n") % date) if self.ui.debugflag: - files = self.repo.changes(log.parents(changenode)[0], changenode) + files = self.repo.status(log.parents(changenode)[0], changenode)[:3] for key, value in zip([_("files:"), _("files+:"), _("files-:")], files): if value: @@ -969,8 +969,7 @@ addremove_lock(ui, repo, pats, opts) fns, match, anypats = matchpats(repo, pats, opts) if pats: - modified, added, removed, deleted, unknown = ( - repo.changes(files=fns, match=match)) + modified, added, removed = repo.status(files=fns, match=match)[:3] files = modified + added + removed else: files = [] @@ -1636,7 +1635,7 @@ return hexfunc = ui.verbose and hex or short - modified, added, removed, deleted, unknown = repo.changes() + modified, added, removed, deleted = repo.status()[:4] output = ["%s%s" % ('+'.join([hexfunc(parent) for parent in parents]), (modified or added or removed or deleted) and "+" or "")] @@ -2247,7 +2246,7 @@ raise util.Abort(_('no files specified')) files, matchfn, anypats = matchpats(repo, pats, opts) exact = dict.fromkeys(files) - mardu = map(dict.fromkeys, repo.changes(files=files, match=matchfn)) + mardu = map(dict.fromkeys, repo.status(files=files, match=matchfn))[:5] modified, added, removed, deleted, unknown = mardu remove, forget = [], [] for src, abs, rel, exact in walk(repo, pats, opts): @@ -2370,7 +2369,7 @@ names[abs] = (rel, exact) target_only[abs] = True - changes = repo.changes(match=names.has_key, wlock=wlock) + changes = repo.status(match=names.has_key, wlock=wlock)[:5] modified, added, removed, deleted, unknown = map(dict.fromkeys, changes) revert = ([], _('reverting %s\n')) diff -r 4ec58b157265 -r 3d6efcbbd1c9 mercurial/localrepo.py --- a/mercurial/localrepo.py Sat Aug 12 16:13:27 2006 -0700 +++ b/mercurial/localrepo.py Sat Aug 12 16:40:12 2006 -0700 @@ -198,7 +198,7 @@ self.hook('tag', node=node, tag=name, local=local) return - for x in self.changes(): + for x in self.status()[:5]: if '.hgtags' in x: raise util.Abort(_('working copy of .hgtags is changed ' '(please commit .hgtags manually)')) @@ -532,7 +532,7 @@ else: self.ui.warn(_("%s not tracked!\n") % f) else: - modified, added, removed, deleted, unknown = self.changes(match=match) + modified, added, removed, deleted, unknown = self.status(match=match)[:5] commit = modified + added remove = removed @@ -751,16 +751,6 @@ l.sort() return (modified, added, removed, deleted, unknown, ignored, clean) - def changes(self, node1=None, node2=None, files=[], match=util.always, - wlock=None, list_ignored=False, list_clean=False): - '''DEPRECATED - use status instead''' - marduit = self.status(node1, node2, files, match, wlock, - list_ignored, list_clean) - if list_ignored: - return marduit[:-1] - else: - return marduit[:-2] - def add(self, list, wlock=None): if not wlock: wlock = self.wlock() diff -r 4ec58b157265 -r 3d6efcbbd1c9 mercurial/merge.py --- a/mercurial/merge.py Sat Aug 12 16:13:27 2006 -0700 +++ b/mercurial/merge.py Sat Aug 12 16:40:12 2006 -0700 @@ -75,7 +75,7 @@ raise util.Abort(_("update spans branches, use 'hg merge' " "or 'hg update -C' to lose changes")) - modified, added, removed, deleted, unknown = repo.changes() + modified, added, removed, deleted, unknown = repo.status()[:5] if branchmerge and not forcemerge: if modified or added or removed: raise util.Abort(_("outstanding uncommitted changes")) diff -r 4ec58b157265 -r 3d6efcbbd1c9 mercurial/patch.py --- a/mercurial/patch.py Sat Aug 12 16:13:27 2006 -0700 +++ b/mercurial/patch.py Sat Aug 12 16:40:12 2006 -0700 @@ -267,13 +267,13 @@ if not node1: node1 = repo.dirstate.parents()[0] # reading the data for node1 early allows it to play nicely - # with repo.changes and the revlog cache. + # with repo.status and the revlog cache. change = repo.changelog.read(node1) mmap = repo.manifest.read(change[0]) date1 = util.datestr(change[2]) if not changes: - changes = repo.changes(node1, node2, files, match=match) + changes = repo.status(node1, node2, files, match=match)[:5] modified, added, removed, deleted, unknown = changes if files: def filterfiles(filters): diff -r 4ec58b157265 -r 3d6efcbbd1c9 mercurial/templater.py --- a/mercurial/templater.py Sat Aug 12 16:13:27 2006 -0700 +++ b/mercurial/templater.py Sat Aug 12 16:40:12 2006 -0700 @@ -459,7 +459,7 @@ yield x if self.ui.debugflag: - files = self.repo.changes(log.parents(changenode)[0], changenode) + files = self.repo.status(log.parents(changenode)[0], changenode)[:3] def showfiles(**args): for x in showlist('file', files[0], **args): yield x def showadds(**args):