diff --git a/mercurial/templates/gitweb/map b/mercurial/templates/gitweb/map index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9naXR3ZWIvbWFw..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9naXR3ZWIvbWFw 100644 --- a/mercurial/templates/gitweb/map +++ b/mercurial/templates/gitweb/map @@ -263,7 +263,8 @@ shortlog = shortlog.tmpl graph = graph.tmpl phasetag = '{ifeq(phase, 'public', '', '<span class="phasetag" title="{phase|escape}">{phase|escape}</span> ')}' +obsoletetag = '{if(obsolete, '<span class="obsoletetag" title="obsolete">obsolete</span> ')}' tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> ' branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> ' inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> ' bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> ' @@ -266,8 +267,8 @@ tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> ' branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> ' inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> ' bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> ' -alltags = '<span class="logtags">{phasetag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>' +alltags = '<span class="logtags">{phasetag}{obsoletetag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>' shortlogentry = ' <tr class="parity{parity}"> <td class="age"><i class="age">{date|rfc822date}</i></td> diff --git a/mercurial/templates/monoblue/map b/mercurial/templates/monoblue/map index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9tb25vYmx1ZS9tYXA=..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9tb25vYmx1ZS9tYXA= 100644 --- a/mercurial/templates/monoblue/map +++ b/mercurial/templates/monoblue/map @@ -222,7 +222,8 @@ <dd><a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>' shortlog = shortlog.tmpl phasetag = '{ifeq(phase, 'public', '', '<span class="phasetag" title="{phase|escape}">{phase|escape}</span> ')}' +obsoletetag = '{if(obsolete, '<span class="obsoletetag" title="obsolete">obsolete</span> ')}' tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> ' branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> ' inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> ' bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> ' @@ -225,8 +226,8 @@ tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> ' branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> ' inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> ' bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> ' -alltags = '<span class="logtags">{phasetag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>' +alltags = '<span class="logtags">{phasetag}{obsoletetag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>' shortlogentry = ' <tr class="parity{parity}"> <td class="nowrap age">{date|rfc822date}</td> diff --git a/mercurial/templates/paper/map b/mercurial/templates/paper/map index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9wYXBlci9tYXA=..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9wYXBlci9tYXA= 100644 --- a/mercurial/templates/paper/map +++ b/mercurial/templates/paper/map @@ -199,8 +199,9 @@ </td> </tr>' phasetag = '{ifeq(phase, 'public', '', '<span class="phase">{phase|escape}</span> ')}' +obsoletetag = '{if(obsolete, '<span class="obsolete">obsolete</span> ')}' changelogtag = '<span class="tag">{name|escape}</span> ' changesettag = '<span class="tag">{tag|escape}</span> ' changesetbookmark = '<span class="tag">{bookmark|escape}</span> ' changelogbranchhead = '<span class="branchhead">{name|escape}</span> ' changelogbranchname = '<span class="branchname">{name|escape}</span> ' @@ -202,9 +203,9 @@ changelogtag = '<span class="tag">{name|escape}</span> ' changesettag = '<span class="tag">{tag|escape}</span> ' changesetbookmark = '<span class="tag">{bookmark|escape}</span> ' changelogbranchhead = '<span class="branchhead">{name|escape}</span> ' changelogbranchname = '<span class="branchname">{name|escape}</span> ' -alltags = '{phasetag}{inbranch%changelogbranchname}{branches%changelogbranchhead}{tags%changelogtag}{bookmarks%changelogtag}' +alltags = '{phasetag}{obsoletetag}{inbranch%changelogbranchname}{branches%changelogbranchhead}{tags%changelogtag}{bookmarks%changelogtag}' filediffparent = ' <tr> diff --git a/mercurial/templates/spartan/changelogentry.tmpl b/mercurial/templates/spartan/changelogentry.tmpl index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9zcGFydGFuL2NoYW5nZWxvZ2VudHJ5LnRtcGw=..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9zcGFydGFuL2NoYW5nZWxvZ2VudHJ5LnRtcGw= 100644 --- a/mercurial/templates/spartan/changelogentry.tmpl +++ b/mercurial/templates/spartan/changelogentry.tmpl @@ -22,6 +22,10 @@ <th class="phase">phase:</th> <td class="phase">{phase|escape}</td> </tr>')} + {if(obsolete, '<tr> + <th class="obsolete">obsolete:</th> + <td class="obsolete">yes</td> + </tr>')} <tr> <th class="files"><a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>:</th> <td class="files">{files}</td> diff --git a/mercurial/templates/spartan/changeset.tmpl b/mercurial/templates/spartan/changeset.tmpl index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9zcGFydGFuL2NoYW5nZXNldC50bXBs..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9zcGFydGFuL2NoYW5nZXNldC50bXBs 100644 --- a/mercurial/templates/spartan/changeset.tmpl +++ b/mercurial/templates/spartan/changeset.tmpl @@ -37,6 +37,10 @@ <th class="phase">phase:</th> <td class="phase">{phase|escape}</td> </tr>')} +{if(obsolete, '<tr> + <th class="obsolete">obsolete:</th> + <td class="obsolete">yes</td> +</tr>')} <tr> <th class="files">files:</th> <td class="files">{files}</td> diff --git a/mercurial/templates/static/style-gitweb.css b/mercurial/templates/static/style-gitweb.css index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvc3R5bGUtZ2l0d2ViLmNzcw==..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvc3R5bGUtZ2l0d2ViLmNzcw== 100644 --- a/mercurial/templates/static/style-gitweb.css +++ b/mercurial/templates/static/style-gitweb.css @@ -126,6 +126,10 @@ background-color: #dfafff; border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff; } +span.logtags span.obsoletetag { + background-color: #dddddd; + border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4; +} span.logtags span.tagtag { background-color: #ffffaa; border-color: #ffffcc #ffee00 #ffee00 #ffffcc; diff --git a/mercurial/templates/static/style-monoblue.css b/mercurial/templates/static/style-monoblue.css index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvc3R5bGUtbW9ub2JsdWUuY3Nz..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvc3R5bGUtbW9ub2JsdWUuY3Nz 100644 --- a/mercurial/templates/static/style-monoblue.css +++ b/mercurial/templates/static/style-monoblue.css @@ -237,6 +237,10 @@ background-color: #dfafff; border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff; } +span.logtags span.obsoletetag { + background-color: #dddddd; + border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4; +} span.logtags span.tagtag { background-color: #ffffaa; border-color: #ffffcc #ffee00 #ffee00 #ffffcc; diff --git a/mercurial/templates/static/style-paper.css b/mercurial/templates/static/style-paper.css index a9454beb9dd8a455c1d405aa9846eacaf60b1266_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvc3R5bGUtcGFwZXIuY3Nz..69ea10d5b00c499f14f9b8f285a09163a592ef3e_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvc3R5bGUtcGFwZXIuY3Nz 100644 --- a/mercurial/templates/static/style-paper.css +++ b/mercurial/templates/static/style-paper.css @@ -146,6 +146,15 @@ vertical-align: baseline; } +.obsolete { + color: #999; + font-size: 70%; + border-bottom: 1px dashed #999; + font-weight: normal; + margin-left: .5em; + vertical-align: baseline; +} + .tag { color: #999; font-size: 70%; diff --git a/tests/test-hgweb.t b/tests/test-hgweb.t index a9454beb9dd8a455c1d405aa9846eacaf60b1266_dGVzdHMvdGVzdC1oZ3dlYi50..69ea10d5b00c499f14f9b8f285a09163a592ef3e_dGVzdHMvdGVzdC1oZ3dlYi50 100644 --- a/tests/test-hgweb.t +++ b/tests/test-hgweb.t @@ -340,7 +340,7 @@ $ get-with-headers.py --twice localhost:$HGPORT 'static/style-gitweb.css' - date etag server 200 Script output follows - content-length: 9151 + content-length: 9261 content-type: text/css body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; background: white; color: black; } @@ -471,6 +471,10 @@ background-color: #dfafff; border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff; } + span.logtags span.obsoletetag { + background-color: #dddddd; + border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4; + } span.logtags span.tagtag { background-color: #ffffaa; border-color: #ffffcc #ffee00 #ffee00 #ffffcc; diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t index a9454beb9dd8a455c1d405aa9846eacaf60b1266_dGVzdHMvdGVzdC1vYnNvbGV0ZS50..69ea10d5b00c499f14f9b8f285a09163a592ef3e_dGVzdHMvdGVzdC1vYnNvbGV0ZS50 100644 --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -1015,6 +1015,30 @@ orphan: 2 changesets phase-divergent: 1 changesets +#if serve + + $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log + $ cat hg.pid >> $DAEMON_PIDS + +check obsolete changeset + + $ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=paper' | grep '<span class="obsolete">' + <span class="phase">draft</span> <span class="obsolete">obsolete</span> + $ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=coal' | grep '<span class="obsolete">' + <span class="phase">draft</span> <span class="obsolete">obsolete</span> + $ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=gitweb' | grep '<span class="logtags">' + <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="obsoletetag" title="obsolete">obsolete</span> </span> + $ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=monoblue' | grep '<span class="logtags">' + <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="obsoletetag" title="obsolete">obsolete</span> </span> + $ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=spartan' | grep 'class="obsolete"' + <th class="obsolete">obsolete:</th> + <td class="obsolete">yes</td> + + $ killdaemons.py + + $ rm hg.pid access.log errors.log +#endif + Test incoming/outcoming with changesets obsoleted remotely, known locally ===============================================================================