##// END OF EJS Templates
sshpeer: initial definition and implementation of new SSH protocol...
sshpeer: initial definition and implementation of new SSH protocol The existing SSH protocol has several design flaws. Future commits will elaborate on these flaws as new features are introduced to combat these flaws. For now, hopefully you can take me for my word that a ground up rewrite of the SSH protocol is needed. This commit lays the foundation for a new SSH protocol by defining a mechanism to upgrade the SSH transport channel away from the default (version 1) protocol to something modern (which we'll call "version 2" for now). This upgrade process is detailed in the internals documentation for the wire protocol. The gist of it is the client sends a request line preceding the "hello" command/line which basically says "I'm requesting an upgrade: here's what I support." If the server recognizes that line, it processes the upgrade request and the transport channel is switched to use the new version of the protocol. If not, it sends an empty response, which is how all Mercurial SSH servers from the beginning of time reacted to unknown commands. The upgrade request is effectively ignored and the client continues to use the existing version of the protocol as if nothing happened. The new version of the SSH protocol is completely identical to version 1 aside from the upgrade dance and the bytes that follow. The immediate bytes that follow the protocol switch are defined to be a length framed "capabilities: " line containing the remote's advertised capabilities. In reality, this looks very similar to what the "hello" response would look like. But it will evolve quickly. The methodology by which the protocol will evolve is important. I'm not going to introduce the new protocol all at once. That would likely lead to endless bike shedding and forward progress would stall. Instead, I intend to tricle out new features and diversions from the existing protocol in small, incremental changes. To support the gradual evolution of the protocol, the on-the-wire advertised protocol name contains an "exp" to denote "experimental" and a 4 digit field to capture the sub-version of the protocol. Whenever we make a BC change to the wire protocol, we can increment this version and lock out all older clients because it will appear as a completely different protocol version. This means we can incur as many breaking changes as we want. We don't have to commit to supporting any one feature or idea for a long period of time. We can even evolve the handshake mechanism, because that is defined as being an implementation detail of the negotiated protocol version! Hopefully this lowers the barrier to accepting changes to the protocol and for experimenting with "radical" ideas during its development. In core, sshpeer received most of the attention. We haven't even implemented the server bits for the new protocol in core yet. Instead, we add very primitive support to our test server, mainly just to exercise the added code paths in sshpeer. Differential Revision: https://phab.mercurial-scm.org/D2061 # no-check-commit because of required foo_bar naming

File last commit:

r35501:1721ce06 default
r35994:48a3a928 default
Show More
test-hgweb-diffs.t
1188 lines | 32.3 KiB | text/troff | Tads3Lexer
/ tests / test-hgweb-diffs.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve
Mads Kiilerich
tests: use 'hghave execbit' for tests that manipulate x bit in file system
r15442
Matt Mackall
tests: unify test-hgweb-diffs
r12435 setting up repo
$ hg init test
$ cd test
$ echo a > a
$ echo b > b
$ hg ci -Ama
adding a
adding b
change permissions for git diffs
Adrian Buehlmann
test-hgweb-diffs: partially adapt for Windows...
r17109 $ hg import -q --bypass - <<EOF
> # HG changeset patch
> # User test
> # Date 0 0
> b
>
> diff --git a/a b/a
> old mode 100644
> new mode 100755
> diff --git a/b b/b
> deleted file mode 100644
> --- a/b
> +++ /dev/null
> @@ -1,1 +0,0 @@
> -b
> EOF
Matt Mackall
tests: unify test-hgweb-diffs
r12435
set up hgweb
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
revision
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'rev/0'
Matt Mackall
tests: unify test-hgweb-diffs
r12435 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
<title>test: 0cd96de13884</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/0">log</a></li>
<li><a href="/graph/0">graph</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/tags">tags</a></li>
Alexander Solovyov
hgweb: add separate page with bookmarks listing
r13597 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/branches">branches</a></li>
</ul>
<ul>
<li class="active">changeset</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/raw-rev/0">raw</a></li>
<li><a href="/file/0">browse</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </ul>
<ul>
</ul>
Augie Fackler
web: add a help view for getting hg help output
r12666 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
changeset 0:<a href="/rev/0cd96de13884">0cd96de13884</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </form>
<div class="description">a</div>
<table id="changesetEntry">
<tr>
<th class="author">author</th>
<td class="author">&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th class="date">date</th>
Anton Shestakov
hgweb: clearly outline <tr> block in paper/changeset.tmpl...
r24130 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
</tr>
av6
hgweb: display fate of obsolete changesets...
r35501
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <tr>
<th class="author">parents</th>
<td class="author"></td>
</tr>
<tr>
<th class="author">children</th>
Matt Mackall
hgweb: fix filediff base calculation...
r16722 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </tr>
<tr>
<th class="files">files</th>
<td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
</tr>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <tr>
<th class="diffstat">diffstat</th>
<td class="diffstat">
2 files changed, 2 insertions(+), 0 deletions(-)
Anton Shestakov
hgweb: fix diffstat links in paper/changeset.tmpl...
r23831 <a id="diffstatexpand" href="javascript:toggleDiffstat()">[<tt>+</tt>]</a>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <div id="diffstatdetails" style="display:none;">
Anton Shestakov
hgweb: fix diffstat links in paper/changeset.tmpl...
r23831 <a href="javascript:toggleDiffstat()">[<tt>-</tt>]</a>
Anton Shestakov
hgweb: use css margin instead of empty <p> before diffstat table...
r24042 <table class="diffstat-table stripes2"> <tr>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <td class="diffstat-file"><a href="#l1.1">a</a></td>
<td class="diffstat-total" align="right">1</td>
<td class="diffstat-graph">
<span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
<span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
</td>
</tr>
Alexander Plavin
hgweb: make stripes in diffstat with CSS
r19455 <tr>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <td class="diffstat-file"><a href="#l2.1">b</a></td>
<td class="diffstat-total" align="right">1</td>
<td class="diffstat-graph">
<span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
<span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </table>
<div class="overflow">
Alexander Plavin
hgweb: add line wrapping switch to file diff and changeset views
r19433 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
Alexander Plavin
hgweb: file diff and changesets views behave like file source view...
r19432 <div class="sourcefirst"> line diff</div>
<div class="stripes2 diffblocks">
<div class="bottomline inc-lineno"><pre class="sourcelines wrap">
<span id="l1.1" class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.1"></a>
<span id="l1.2" class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.2"></a>
<span id="l1.3" class="atline">@@ -0,0 +1,1 @@</span><a href="#l1.3"></a>
<span id="l1.4" class="plusline">+a</span><a href="#l1.4"></a></pre></div><div class="bottomline inc-lineno"><pre class="sourcelines wrap">
<span id="l2.1" class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000</span><a href="#l2.1"></a>
<span id="l2.2" class="plusline">+++ b/b Thu Jan 01 00:00:00 1970 +0000</span><a href="#l2.2"></a>
<span id="l2.3" class="atline">@@ -0,0 +1,1 @@</span><a href="#l2.3"></a>
<span id="l2.4" class="plusline">+b</span><a href="#l2.4"></a></pre></div>
</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
</div>
</div>
</body>
</html>
raw revision
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'raw-rev/0'
Matt Mackall
tests: unify test-hgweb-diffs
r12435 200 Script output follows
# HG changeset patch
# User test
# Date 0 0
# Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
a
diff -r 000000000000 -r 0cd96de13884 a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+a
diff -r 000000000000 -r 0cd96de13884 b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/b Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+b
diff removed file
FUJIWARA Katsunori
hgweb: show as same parents as "hg parents -r REV FILE" in pages for file...
r21122 $ hg log --template "{file_mods}\n{file_dels}\n" -r tip
a
b
$ hg parents --template "{node|short}\n" -r tip
0cd96de13884
$ hg parents --template "{node|short}\n" -r tip b
0cd96de13884
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'diff/tip/b'
Matt Mackall
tests: unify test-hgweb-diffs
r12435 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
Matt Mackall
hgweb: fix filediff base calculation...
r16722 <title>test: b diff</title>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/tags">tags</a></li>
Alexander Solovyov
hgweb: add separate page with bookmarks listing
r13597 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip">browse</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/tip/b">file</a></li>
Matt Mackall
hgweb: fix filediff base calculation...
r16722 <li><a href="/file/tip/b">latest</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li class="active">diff</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/comparison/tip/b">comparison</a></li>
<li><a href="/annotate/tip/b">annotate</a></li>
<li><a href="/log/tip/b">file log</a></li>
<li><a href="/raw-file/tip/b">raw</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </ul>
Augie Fackler
hgweb: add help link to templates missed in ead4e21f49f1
r12680 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
diff b @ 1:<a href="/rev/559edbd9ed20">559edbd9ed20</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </form>
<div class="description">b</div>
<table id="changesetEntry">
<tr>
<th>author</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th>date</th>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </tr>
<tr>
<th>parents</th>
Matt Mackall
hgweb: fix filediff base calculation...
r16722 <td><a href="/file/0cd96de13884/b">0cd96de13884</a> </td>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </tr>
<tr>
<th>children</th>
<td></td>
</tr>
</table>
<div class="overflow">
Alexander Plavin
hgweb: add line wrapping switch to file diff and changeset views
r19433 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
Alexander Plavin
hgweb: file diff and changesets views behave like file source view...
r19432 <div class="sourcefirst"> line diff</div>
<div class="stripes2 diffblocks">
<div class="bottomline inc-lineno"><pre class="sourcelines wrap">
<span id="l1.1" class="minusline">--- a/b Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.1"></a>
<span id="l1.2" class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.2"></a>
<span id="l1.3" class="atline">@@ -1,1 +0,0 @@</span><a href="#l1.3"></a>
<span id="l1.4" class="minusline">-b</span><a href="#l1.4"></a></pre></div>
</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
</div>
</div>
</body>
</html>
Yuya Nishihara
hgweb: disable diff.noprefix option for diffstat...
r35445 set up hgweb with git diffs + noprefix
$ killdaemons.py
$ hg serve --config 'diff.git=1' --config 'diff.noprefix=1' -p $HGPORT -d \
> --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
patch header and diffstat
$ get-with-headers.py localhost:$HGPORT 'rev/0' \
> | egrep 'files changed|---|\+\+\+'
2 files changed, 2 insertions(+), 0 deletions(-)
<span id="l1.2" class="minusline">--- /dev/null</span><a href="#l1.2"></a>
<span id="l1.3" class="plusline">+++ a</span><a href="#l1.3"></a>
<span id="l2.2" class="minusline">--- /dev/null</span><a href="#l2.2"></a>
<span id="l2.3" class="plusline">+++ b</span><a href="#l2.3"></a>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 set up hgweb with git diffs
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Matt Mackall
tests: unify test-hgweb-diffs
r12435 $ hg serve --config 'diff.git=1' -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
revision
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'rev/0'
Matt Mackall
tests: unify test-hgweb-diffs
r12435 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
<title>test: 0cd96de13884</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/0">log</a></li>
<li><a href="/graph/0">graph</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/tags">tags</a></li>
Alexander Solovyov
hgweb: add separate page with bookmarks listing
r13597 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/branches">branches</a></li>
</ul>
<ul>
<li class="active">changeset</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/raw-rev/0">raw</a></li>
<li><a href="/file/0">browse</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </ul>
<ul>
</ul>
Augie Fackler
web: add a help view for getting hg help output
r12666 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
changeset 0:<a href="/rev/0cd96de13884">0cd96de13884</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </form>
<div class="description">a</div>
<table id="changesetEntry">
<tr>
<th class="author">author</th>
<td class="author">&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th class="date">date</th>
Anton Shestakov
hgweb: clearly outline <tr> block in paper/changeset.tmpl...
r24130 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
</tr>
av6
hgweb: display fate of obsolete changesets...
r35501
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <tr>
<th class="author">parents</th>
<td class="author"></td>
</tr>
<tr>
<th class="author">children</th>
Matt Mackall
hgweb: fix filediff base calculation...
r16722 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </tr>
<tr>
<th class="files">files</th>
<td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
</tr>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <tr>
<th class="diffstat">diffstat</th>
<td class="diffstat">
2 files changed, 2 insertions(+), 0 deletions(-)
Anton Shestakov
hgweb: fix diffstat links in paper/changeset.tmpl...
r23831 <a id="diffstatexpand" href="javascript:toggleDiffstat()">[<tt>+</tt>]</a>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <div id="diffstatdetails" style="display:none;">
Anton Shestakov
hgweb: fix diffstat links in paper/changeset.tmpl...
r23831 <a href="javascript:toggleDiffstat()">[<tt>-</tt>]</a>
Anton Shestakov
hgweb: use css margin instead of empty <p> before diffstat table...
r24042 <table class="diffstat-table stripes2"> <tr>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <td class="diffstat-file"><a href="#l1.1">a</a></td>
<td class="diffstat-total" align="right">1</td>
<td class="diffstat-graph">
<span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
<span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
</td>
</tr>
Alexander Plavin
hgweb: make stripes in diffstat with CSS
r19455 <tr>
Steven Brown
paper, coal: display diffstat on the changeset page...
r14571 <td class="diffstat-file"><a href="#l2.1">b</a></td>
<td class="diffstat-total" align="right">1</td>
<td class="diffstat-graph">
<span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
<span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </table>
<div class="overflow">
Alexander Plavin
hgweb: add line wrapping switch to file diff and changeset views
r19433 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
Alexander Plavin
hgweb: file diff and changesets views behave like file source view...
r19432 <div class="sourcefirst"> line diff</div>
<div class="stripes2 diffblocks">
<div class="bottomline inc-lineno"><pre class="sourcelines wrap">
<span id="l1.1">new file mode 100644</span><a href="#l1.1"></a>
<span id="l1.2" class="minusline">--- /dev/null</span><a href="#l1.2"></a>
<span id="l1.3" class="plusline">+++ b/a</span><a href="#l1.3"></a>
<span id="l1.4" class="atline">@@ -0,0 +1,1 @@</span><a href="#l1.4"></a>
<span id="l1.5" class="plusline">+a</span><a href="#l1.5"></a></pre></div><div class="bottomline inc-lineno"><pre class="sourcelines wrap">
<span id="l2.1">new file mode 100644</span><a href="#l2.1"></a>
<span id="l2.2" class="minusline">--- /dev/null</span><a href="#l2.2"></a>
<span id="l2.3" class="plusline">+++ b/b</span><a href="#l2.3"></a>
<span id="l2.4" class="atline">@@ -0,0 +1,1 @@</span><a href="#l2.4"></a>
<span id="l2.5" class="plusline">+b</span><a href="#l2.5"></a></pre></div>
</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
</div>
</div>
</body>
</html>
revision
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'raw-rev/0'
Matt Mackall
tests: unify test-hgweb-diffs
r12435 200 Script output follows
# HG changeset patch
# User test
# Date 0 0
# Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
a
diff --git a/a b/a
new file mode 100644
--- /dev/null
+++ b/a
@@ -0,0 +1,1 @@
+a
diff --git a/b b/b
new file mode 100644
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+b
FUJIWARA Katsunori
hgweb: show as same parents as "hg parents -r REV FILE" in pages for file...
r21122 diff modified file
$ hg log --template "{file_mods}\n{file_dels}\n" -r tip
a
b
$ hg parents --template "{node|short}\n" -r tip
0cd96de13884
$ hg parents --template "{node|short}\n" -r tip a
0cd96de13884
Matt Mackall
tests: unify test-hgweb-diffs
r12435
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'diff/tip/a'
Matt Mackall
tests: unify test-hgweb-diffs
r12435 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
<title>test: a diff</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/tags">tags</a></li>
Alexander Solovyov
hgweb: add separate page with bookmarks listing
r13597 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip">browse</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/tip/a">file</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <li><a href="/file/tip/a">latest</a></li>
<li class="active">diff</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/comparison/tip/a">comparison</a></li>
<li><a href="/annotate/tip/a">annotate</a></li>
<li><a href="/log/tip/a">file log</a></li>
<li><a href="/raw-file/tip/a">raw</a></li>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </ul>
Augie Fackler
hgweb: add help link to templates missed in ead4e21f49f1
r12680 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
diff a @ 1:<a href="/rev/559edbd9ed20">559edbd9ed20</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
Matt Mackall
tests: unify test-hgweb-diffs
r12435
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
Matt Mackall
tests: unify test-hgweb-diffs
r12435 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </form>
<div class="description">b</div>
<table id="changesetEntry">
<tr>
<th>author</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th>date</th>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </tr>
<tr>
<th>parents</th>
FUJIWARA Katsunori
hgweb: show as same parents as "hg parents -r REV FILE" in pages for file...
r21122 <td><a href="/file/0cd96de13884/a">0cd96de13884</a> </td>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </tr>
<tr>
<th>children</th>
<td></td>
</tr>
</table>
<div class="overflow">
Alexander Plavin
hgweb: add line wrapping switch to file diff and changeset views
r19433 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
Alexander Plavin
hgweb: file diff and changesets views behave like file source view...
r19432 <div class="sourcefirst"> line diff</div>
<div class="stripes2 diffblocks">
<div class="bottomline inc-lineno"><pre class="sourcelines wrap">
<span id="l1.1">old mode 100644</span><a href="#l1.1"></a>
<span id="l1.2">new mode 100755</span><a href="#l1.2"></a></pre></div>
</div>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 </div>
</div>
</div>
</body>
</html>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202
comparison new file
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123 $ hg parents --template "{rev}:{node|short}\n" -r 0
$ hg log --template "{rev}:{node|short}\n" -r 0
0:0cd96de13884
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'comparison/0/a'
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: a comparison</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/0">log</a></li>
<li><a href="/graph/0">graph</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li><a href="/tags">tags</a></li>
<li><a href="/bookmarks">bookmarks</a></li>
<li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/0">changeset</a></li>
<li><a href="/file/0">browse</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/0/a">file</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li><a href="/file/tip/a">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/0/a">diff</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li class="active">comparison</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/annotate/0/a">annotate</a></li>
<li><a href="/log/0/a">file log</a></li>
<li><a href="/raw-file/0/a">raw</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </ul>
<ul>
<li><a href="/help">help</a></li>
</ul>
</div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
comparison a @ 0:<a href="/rev/0cd96de13884">0cd96de13884</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </form>
<div class="description">a</div>
<table id="changesetEntry">
<tr>
<th>author</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th>date</th>
<td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
</tr>
<tr>
<th>parents</th>
<td></td>
</tr>
<tr>
<th>children</th>
wujek srujek
hgweb: fixes invalid parents / children in comparison...
r17303 <td></td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
</table>
<div class="overflow">
<div class="sourcefirst"> comparison</div>
<div class="legend">
<span class="legendinfo equal">equal</span>
<span class="legendinfo delete">deleted</span>
<span class="legendinfo insert">inserted</span>
<span class="legendinfo replace">replaced</span>
</div>
<table class="bigtable">
wujek srujek
hgweb: fixes traceback for invalid files by removing top-level template...
r17302 <thead class="header">
<tr>
<th>-1:000000000000</th>
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123 <th>0:0cd96de13884</th>
wujek srujek
hgweb: fixes traceback for invalid files by removing top-level template...
r17302 </tr>
</thead>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <tbody class="block">
Alexander Plavin
hgweb: highlight line which is linked to at comparison view
r19459 <tr id="r1">
<td class="source insert"><a href="#r1"> </a> </td>
<td class="source insert"><a href="#r1"> 1</a> a</td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
comparison existing file
$ hg up
Mads Kiilerich
merge: changing the mode of a file is also an update...
r18334 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 $ echo a >> a
$ hg ci -mc
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123
$ hg parents --template "{rev}:{node|short}\n" -r tip
1:559edbd9ed20
$ hg log --template "{rev}:{node|short}\n" -r tip
2:d73db4d812ff
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'comparison/tip/a'
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: a comparison</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li><a href="/tags">tags</a></li>
<li><a href="/bookmarks">bookmarks</a></li>
<li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip">browse</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/tip/a">file</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li><a href="/file/tip/a">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/tip/a">diff</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li class="active">comparison</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/annotate/tip/a">annotate</a></li>
<li><a href="/log/tip/a">file log</a></li>
<li><a href="/raw-file/tip/a">raw</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </ul>
<ul>
<li><a href="/help">help</a></li>
</ul>
</div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
comparison a @ 2:<a href="/rev/d73db4d812ff">d73db4d812ff</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </form>
<div class="description">c</div>
<table id="changesetEntry">
<tr>
<th>author</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th>date</th>
<td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
</tr>
<tr>
<th>parents</th>
wujek srujek
hgweb: fixes invalid parents / children in comparison...
r17303 <td><a href="/file/0cd96de13884/a">0cd96de13884</a> </td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
<tr>
<th>children</th>
<td></td>
</tr>
</table>
<div class="overflow">
<div class="sourcefirst"> comparison</div>
<div class="legend">
<span class="legendinfo equal">equal</span>
<span class="legendinfo delete">deleted</span>
<span class="legendinfo insert">inserted</span>
<span class="legendinfo replace">replaced</span>
</div>
<table class="bigtable">
wujek srujek
hgweb: fixes traceback for invalid files by removing top-level template...
r17302 <thead class="header">
<tr>
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123 <th>1:559edbd9ed20</th>
<th>2:d73db4d812ff</th>
wujek srujek
hgweb: fixes traceback for invalid files by removing top-level template...
r17302 </tr>
</thead>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <tbody class="block">
Alexander Plavin
hgweb: highlight line which is linked to at comparison view
r19459 <tr id="l1r1">
<td class="source equal"><a href="#l1r1"> 1</a> a</td>
<td class="source equal"><a href="#l1r1"> 1</a> a</td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at comparison view
r19459 <tr id="r2">
<td class="source insert"><a href="#r2"> </a> </td>
<td class="source insert"><a href="#r2"> 2</a> a</td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
comparison removed file
$ hg rm a
$ hg ci -md
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123
$ hg parents --template "{rev}:{node|short}\n" -r tip
2:d73db4d812ff
$ hg log --template "{rev}:{node|short}\n" -r tip
3:20e80271eb7a
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'comparison/tip/a'
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: a comparison</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li><a href="/tags">tags</a></li>
<li><a href="/bookmarks">bookmarks</a></li>
<li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip">browse</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/tip/a">file</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li><a href="/file/tip/a">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/tip/a">diff</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <li class="active">comparison</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/annotate/tip/a">annotate</a></li>
<li><a href="/log/tip/a">file log</a></li>
<li><a href="/raw-file/tip/a">raw</a></li>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </ul>
<ul>
<li><a href="/help">help</a></li>
</ul>
</div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
comparison a @ 3:<a href="/rev/20e80271eb7a">20e80271eb7a</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </form>
<div class="description">d</div>
<table id="changesetEntry">
<tr>
<th>author</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th>date</th>
<td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
</tr>
<tr>
<th>parents</th>
av6
webcommands: get correct parents when comparing a removed file (issue4962)...
r27158 <td><a href="/file/d73db4d812ff/a">d73db4d812ff</a> </td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
<tr>
<th>children</th>
<td></td>
</tr>
</table>
<div class="overflow">
<div class="sourcefirst"> comparison</div>
<div class="legend">
<span class="legendinfo equal">equal</span>
<span class="legendinfo delete">deleted</span>
<span class="legendinfo insert">inserted</span>
<span class="legendinfo replace">replaced</span>
</div>
<table class="bigtable">
wujek srujek
hgweb: fixes traceback for invalid files by removing top-level template...
r17302 <thead class="header">
<tr>
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123 <th>2:d73db4d812ff</th>
<th>3:20e80271eb7a</th>
wujek srujek
hgweb: fixes traceback for invalid files by removing top-level template...
r17302 </tr>
</thead>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <tbody class="block">
Alexander Plavin
hgweb: highlight line which is linked to at comparison view
r19459 <tr id="l1">
<td class="source delete"><a href="#l1"> 1</a> a</td>
<td class="source delete"><a href="#l1"> </a> </td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at comparison view
r19459 <tr id="l2">
<td class="source delete"><a href="#l2"> 2</a> a</td>
<td class="source delete"><a href="#l2"> </a> </td>
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 </tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 comparison not-modified file
$ echo e > e
$ hg add e
$ hg ci -m e
$ echo f > f
$ hg add f
$ hg ci -m f
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123 $ hg tip --template "{rev}:{node|short}\n"
5:41d9fc4a6ae1
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 $ hg diff -c tip e
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123 $ hg parents --template "{rev}:{node|short}\n" -r tip
4:402bea3b0976
$ hg parents --template "{rev}:{node|short}\n" -r tip e
4:402bea3b0976
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'comparison/tip/e'
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: e comparison</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 <li><a href="/tags">tags</a></li>
<li><a href="/bookmarks">bookmarks</a></li>
<li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip">browse</a></li>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/tip/e">file</a></li>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 <li><a href="/file/tip/e">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/tip/e">diff</a></li>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 <li class="active">comparison</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/annotate/tip/e">annotate</a></li>
<li><a href="/log/tip/e">file log</a></li>
<li><a href="/raw-file/tip/e">raw</a></li>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 </ul>
<ul>
<li><a href="/help">help</a></li>
</ul>
</div>
<div class="main">
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
comparison e @ 5:<a href="/rev/41d9fc4a6ae1">41d9fc4a6ae1</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
</form>
<div class="description">f</div>
<table id="changesetEntry">
<tr>
<th>author</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th>date</th>
<td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
</tr>
<tr>
<th>parents</th>
FUJIWARA Katsunori
hgweb: show as same parents as "hg parents -r REV FILE" in pages for file...
r21122 <td><a href="/file/402bea3b0976/e">402bea3b0976</a> </td>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 </tr>
<tr>
<th>children</th>
<td></td>
</tr>
</table>
<div class="overflow">
<div class="sourcefirst"> comparison</div>
<div class="legend">
<span class="legendinfo equal">equal</span>
<span class="legendinfo delete">deleted</span>
<span class="legendinfo insert">inserted</span>
<span class="legendinfo replace">replaced</span>
</div>
<table class="bigtable">
<thead class="header">
<tr>
FUJIWARA Katsunori
hgweb: show revisions and hashes gotten from changelog in "comparison" page...
r21123 <th>4:402bea3b0976</th>
<th>5:41d9fc4a6ae1</th>
FUJIWARA Katsunori
hgweb: make "comparison" get parent from not filelog but changelog...
r21121 </tr>
</thead>
</table>
</div>
</div>
</div>
</body>
</html>
Matt Mackall
tests: unify test-hgweb-diffs
r12435 $ cd ..
test import rev as raw-rev
$ hg clone -r0 test test1
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 0cd96de13884
Matt Mackall
tests: unify test-hgweb-diffs
r12435 updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd test1
Adrian Buehlmann
test-hgweb-diffs: partially adapt for Windows...
r17109 $ hg import -q --bypass --exact http://localhost:$HGPORT/rev/1
Matt Mackall
tests: unify test-hgweb-diffs
r12435
Paul Boddie
hgweb: add block numbers to diff regions and related links...
r16308 raw revision with diff block numbers
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Paul Boddie
hgweb: add block numbers to diff regions and related links...
r16308 $ cat <<EOF > .hg/hgrc
> [web]
> templates = rawdiff
> EOF
$ mkdir rawdiff
$ cat <<EOF > rawdiff/map
> mimetype = 'text/plain; charset={encoding}'
> changeset = '{diff}'
> difflineplus = '{line}'
> difflineminus = '{line}'
> difflineat = '{line}'
> diffline = '{line}'
> filenodelink = ''
> filenolink = ''
> fileline = '{line}'
> diffblock = 'Block: {blockno}\n{lines}\n'
> EOF
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'raw-rev/0'
Paul Boddie
hgweb: add block numbers to diff regions and related links...
r16308 200 Script output follows
Block: 1
diff -r 000000000000 -r 0cd96de13884 a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+a
Block: 2
diff -r 000000000000 -r 0cd96de13884 b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/b Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+b
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Paul Boddie
hgweb: add block numbers to diff regions and related links...
r16308 $ rm .hg/hgrc rawdiff/map
$ rmdir rawdiff
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: unify test-hgweb-diffs
r12435 errors
$ cat ../test/errors.log
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..