def refresh(self): repo = self.repo oldtags, oldparents = self.tagrevs, self.wcparents oldbookmarks = self.bookmarkrevs try: oldbranches = [repo[n].rev() for n in self.branchtags.values()] except error.RepoLookupError: oldbranches = [] hglib.invalidaterepo(repo) self.longsummary = repo.ui.configbool('tortoisehg', 'longsummary', False) self.set_author_color() self.hidetags = hglib.gethidetags(repo.ui) try: self.wcparents = [x.rev() for x in repo.parents()] self.tagrevs = [repo[r].rev() for t, r in repo.tagslist()] self.branchtags = repo.branchtags() self.curbookmark = repo._bookmarkcurrent self.bookmarkrevs = [repo[n].rev() for n in repo._bookmarks.values()] except util.Abort: pass brevs = [repo[n].rev() for n in self.branchtags.values()] allrevs = set(oldtags + oldparents + oldbranches + oldbookmarks + brevs + self.wcparents + self.tagrevs + self.bookmarkrevs) for rev in allrevs: if rev in self.revisions: del self.revisions[rev] self.mqpatches = [] if hasattr(self.repo, 'mq'): self.repo.mq.parse_series() self.mqpatches = [p.name for p in self.repo.mq.applied]
def preset_func(widget, item, ctx): if item == "rev": revnum = self.get_data("revnum", *args) revid = self.get_data("revid", *args) if revid: return (revnum, revid) return None elif item == "revnum": return ctx.rev() elif item == "revid": return str(ctx) elif item == "desc": return hglib.toutf(ctx.description().replace("\0", "")) elif item == "summary": value = ctx.description().replace("\0", "").split("\n")[0] if len(value) == 0: return None return hglib.toutf(hglib.tounicode(value)[:80]) elif item == "user": return hglib.toutf(ctx.user()) elif item == "shortuser": return hglib.toutf(hglib.username(ctx.user())) elif item == "dateage": date = self.get_data("date", *args) age = self.get_data("age", *args) if date and age: return (date, age) return None elif item == "date": date = ctx.date() if date: return hglib.displaytime(date) return None elif item == "age": date = ctx.date() if date: return hglib.age(date) return None elif item == "rawbranch": value = ctx.branch() if value: return hglib.toutf(value) return None elif item == "branch": value = self.get_data("rawbranch", *args) if value: repo = ctx._repo if ctx.node() not in repo.branchtags().values(): return None dblist = hglib.getdeadbranch(repo.ui) if value in dblist: return None return value return None elif item == "rawtags": value = [hglib.toutf(tag) for tag in ctx.tags()] if len(value) == 0: return None return value elif item == "tags": value = self.get_data("rawtags", *args) if value: htlist = hglib.gethidetags(ctx._repo.ui) tags = [tag for tag in value if tag not in htlist] if len(tags) == 0: return None return tags return None elif item == "transplant": extra = ctx.extra() try: ts = extra["transplant_source"] if ts: return binascii.hexlify(ts) except KeyError: pass return None elif item == "p4": extra = ctx.extra() p4cl = extra.get("p4", None) return p4cl and ("changelist %s" % p4cl) elif item == "svn": extra = ctx.extra() cvt = extra.get("convert_revision", "") if cvt.startswith("svn:"): result = cvt.split("/", 1)[-1] if cvt != result: return result return cvt.split("@")[-1] else: return None elif item == "ishead": childbranches = [cctx.branch() for cctx in ctx.children()] return ctx.branch() not in childbranches raise UnknownItem(item)