[PATCH] gitweb: show transplant source in changeset info

Florent Guillaume fg at nuxeo.com
Sat Mar 15 18:17:34 CDT 2008


# HG changeset patch
# User Florent Guillaume <fg at nuxeo.com>
# Date 1205622898 -3600
# Node ID 53f336b0d289e9a22e76f24f8841680c8fa15999
# Parent  c50ac875ffcb8ae53beeeeee119a4dae677c4d23
gitweb: show transplant source in changeset info

diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -357,6 +357,16 @@ class hgweb(object):
     def nodetagsdict(self, node):
         return [{"name": i} for i in self.repo.nodetags(node)]
 
+    def nodetransplantdict(self, ctx):
+        node = ctx.extra().get("transplant_source")
+        if node is None:
+            return []
+        try:
+            rev = ctx._repo.changelog.rev(node)
+        except revlog.LookupError:
+            return []
+        return [{'rev': rev, 'node': hex(node)}]
+
     def nodebranchdict(self, ctx):
         branches = []
         branch = ctx.branch()
@@ -585,6 +595,7 @@ class hgweb(object):
                     author=ctx.user(),
                     desc=ctx.description(),
                     date=ctx.date(),
+                    transplant=self.nodetransplantdict(ctx),
                     files=files,
                     archives=self.archivelist(hex(n)),
                     tags=self.nodetagsdict(n),
diff --git a/templates/gitweb/changeset.tmpl b/templates/gitweb/changeset.tmpl
--- a/templates/gitweb/changeset.tmpl
+++ b/templates/gitweb/changeset.tmpl
@@ -24,6 +24,7 @@
 <tr><td></td><td>#date|date# (#date|age# ago)</td></tr>
 #branch%changesetbranch#
 <tr><td>changeset {rev}</td><td style="font-family:monospace">{node|short}</td></tr>
+#transplant%changesettransplant#
 #parent%changesetparent#
 #child%changesetchild#
 </table></div>
diff --git a/templates/gitweb/map b/templates/gitweb/map
--- a/templates/gitweb/map
+++ b/templates/gitweb/map
@@ -41,6 +41,7 @@ changesetchild = '<tr><td>child {rev}</t
 changesetchild = '<tr><td>child {rev}</td><td style="font-family:monospace"><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
 filerevchild = '<tr><td>child {rev}</td><td style="font-family:monospace"><a class="list" href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
 fileannotatechild = '<tr><td>child {rev}</td><td style="font-family:monospace"><a class="list" href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
+changesettransplant = '<tr><td>transplant {rev}</td><td style="font-family:monospace"><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
 tags = tags.tmpl
 tagentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}"><b>#tag|escape#</b></a></td><td class="link"><a href="{url}rev/#node|short#{sessionvars%urlparameter}">changeset</a> | <a href="{url}log/#node|short#{sessionvars%urlparameter}">changelog</a> | <a href="{url}file/#node|short#{sessionvars%urlparameter}">files</a></td></tr>'
 branchentry = '<tr class="parity{parity}"><td class="age"><i>{date|age} ago</i></td><td><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}"><b>{node|short}</b></a></td><td>{branch|escape}</td><td class="link"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> | <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></td></tr>'


More information about the Mercurial-devel mailing list