Changeset 144 in tracdarcs
- Timestamp:
- 04/24/09 02:10:00 (4 years ago)
- Hash name:
- 20090424001000-97f81-a7483e7d32c4703249860876c6f3f0974a17b112
- Location:
- tracdarcs
- Files:
-
- 3 edited
-
__init__.py (modified) (1 diff)
-
components.py (modified) (2 diffs)
-
repository.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tracdarcs/__init__.py
r143 r144 22 22 __version__ = "0.7" 23 23 24 from tracdarcs.components import DarcsConnector, DarcsSetup 24 from tracdarcs.components import DarcsConnector, DarcsSetup, \ 25 EquivalentChangesetsRenderer -
tracdarcs/components.py
r139 r144 22 22 from trac.util.text import shorten_line 23 23 from trac.versioncontrol import IRepositoryConnector, NoSuchChangeset 24 from trac.versioncontrol.web_ui import IPropertyRenderer, RenderedProperty 25 24 26 from trac.wiki import IWikiSyntaxProvider 25 27 … … 162 164 for stmt in connector.to_sql(t): 163 165 c.execute(stmt) 166 167 class EquivalentChangesetsRenderer(Component): 168 implements(IPropertyRenderer) 169 170 def match_property(self, name, mode): 171 return (mode == 'revprop' and name == 'EqChangesets') and 5 or 0 172 173 def render_property(self, name, mode, context, props): 174 eqcsets = props[name] 175 eqlinks = [tag.a(repos or '(default)', class_="changeset", 176 title="Equivalent patch %s in repository %s" % ( 177 rev, repos or '(default)'), 178 href=context.href.changeset(rev, repos)) 179 for repos, rev in eqcsets] 180 return RenderedProperty(name='Present in:', 181 name_attributes=[("class", "property")], 182 content=tag([eqlinks])) -
tracdarcs/repository.py
r140 r144 451 451 # "Content-Encoding: gzip" that in turn may confuse the browser. 452 452 # Darcs recognizes also extension-stripped hashnames. 453 return dict(Hashname=self.__hash[:-3]) 453 454 props = dict(Hashname=self.__hash[:-3]) 455 456 c = self.__db.cursor() 457 c.execute('SELECT dcs.repo_id, dcs.rev ' 458 'FROM darcs_changesets dcs, darcs_changesets dcs2 ' 459 'WHERE dcs2.repo_id = %s AND dcs2.rev = %s ' 460 ' AND dcs.hash = dcs2.hash ' 461 ' AND dcs.repo_id <> dcs2.repo_id', (self.repo_id, self.rev)) 462 eqcsets = [(repo, rev) for repo,rev in c.fetchall()] 463 if eqcsets: 464 props['EqChangesets'] = eqcsets 465 466 return props
Note: See TracChangeset
for help on using the changeset viewer.