view tests/test-hgweb-diffs.out @ 11989:f853873fc66d

aliases: provide more flexible ways to work with shell alias arguments This patch changes the functionality of shell aliases to add more powerful options for working with shell alias arguments. First: the alias name + arguments to a shell alias are set as an HG_ARGS environment variable, delimited by spaces. This matches the behavior of hooks. Second: any occurrences of "$@" (without quotes) are replaced with the arguments, separated by spaces. This happens *before* the alias gets to the shell. Third: any positive numeric variables ("$1", "$2", etc) are replaced with the appropriate argument, indexed from 1. "$0" is replaced with the name of the alias. Any "extra" numeric variables are replaced with an empty string. This happens *before* the alias gets to the shell. These changes allow for more flexible shell aliases: [alias] echo = !echo $@ count = !hg log -r "$@" --template='.' | wc -c | sed -e 's/ //g' qqueuemv = !mv "`hg root`/.hg/patches-$1" "`hg root`/.hg/patches-$2" In action: $ hg echo foo foo $ hg count 'branch(default)' 901 $ hg count 'branch(stable) and keyword(fixes)' 102 $ hg qqueuemv myfeature somefeature
author Steve Losh <steve@stevelosh.com>
date Wed, 18 Aug 2010 18:56:44 -0400
parents ffda19f351fa
children
line wrap: on
line source

% setting up repo
adding a
adding b
% change permissions for git diffs
% set up hgweb
% revision
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" />

<title>test: 0cd96de13884</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
 <li><a href="/shortlog/0cd96de13884">log</a></li>
 <li><a href="/graph/0cd96de13884">graph</a></li>
 <li><a href="/tags">tags</a></li>
 <li><a href="/branches">branches</a></li>
</ul>
<ul>
 <li class="active">changeset</li>
 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
 <li><a href="/file/0cd96de13884">browse</a></li>
</ul>
<ul>
 
</ul>
</div>

<div class="main">

<h2><a href="/">test</a></h2>
<h3>changeset 0:0cd96de13884  </h3>

<form class="search" action="/log">

<p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
</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>
 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td></tr>
<tr>
 <th class="author">parents</th>
 <td class="author"></td>
</tr>
<tr>
 <th class="author">children</th>
 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
</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>
</table>

<div class="overflow">
<div class="sourcefirst">   line diff</div>

<div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1">     1.1</a> <span class="minusline">--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
</span><a href="#l1.2" id="l1.2">     1.2</a> <span class="plusline">+++ b/a	Thu Jan 01 00:00:00 1970 +0000
</span><a href="#l1.3" id="l1.3">     1.3</a> <span class="atline">@@ -0,0 +1,1 @@
</span><a href="#l1.4" id="l1.4">     1.4</a> <span class="plusline">+a
</span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1">     2.1</a> <span class="minusline">--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
</span><a href="#l2.2" id="l2.2">     2.2</a> <span class="plusline">+++ b/b	Thu Jan 01 00:00:00 1970 +0000
</span><a href="#l2.3" id="l2.3">     2.3</a> <span class="atline">@@ -0,0 +1,1 @@
</span><a href="#l2.4" id="l2.4">     2.4</a> <span class="plusline">+b
</span></pre></div>
</div>

</div>
</div>


</body>
</html>

% raw revision
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
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" />

<title>test: a diff</title>
</head>
<body>

<div class="container">
<div class="menu">
<div class="logo">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
<li><a href="/shortlog/78e4ebad7cdf">log</a></li>
<li><a href="/graph/78e4ebad7cdf">graph</a></li>
<li><a href="/tags">tags</a></li>
<li><a href="/branches">branches</a></li>
</ul>
<ul>
<li><a href="/rev/78e4ebad7cdf">changeset</a></li>
<li><a href="/file/78e4ebad7cdf">browse</a></li>
</ul>
<ul>
<li><a href="/file/78e4ebad7cdf/a">file</a></li>
<li><a href="/file/tip/a">latest</a></li>
<li class="active">diff</li>
<li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
<li><a href="/log/78e4ebad7cdf/a">file log</a></li>
<li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
</ul>
</div>

<div class="main">
<h2><a href="/">test</a></h2>
<h3>diff a @ 1:78e4ebad7cdf</h3>

<form class="search" action="/log">
<p></p>
<p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
</form>

<div class="description">b</div>

<table id="changesetEntry">
<tr>
 <th>author</th>
 <td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
 <th>date</th>
 <td>Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td>
</tr>
<tr>
 <th>parents</th>
 <td></td>
</tr>
<tr>
 <th>children</th>
 <td></td>
</tr>

</table>

<div class="overflow">
<div class="sourcefirst">   line diff</div>

<div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1">     1.1</a> <span class="minusline">--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
</span><a href="#l1.2" id="l1.2">     1.2</a> <span class="plusline">+++ b/a	Thu Jan 01 00:00:00 1970 +0000
</span><a href="#l1.3" id="l1.3">     1.3</a> <span class="atline">@@ -0,0 +1,1 @@
</span><a href="#l1.4" id="l1.4">     1.4</a> <span class="plusline">+a
</span></pre></div>
</div>
</div>
</div>



</body>
</html>

% set up hgweb with git diffs
% revision
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" />

<title>test: 0cd96de13884</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
 <li><a href="/shortlog/0cd96de13884">log</a></li>
 <li><a href="/graph/0cd96de13884">graph</a></li>
 <li><a href="/tags">tags</a></li>
 <li><a href="/branches">branches</a></li>
</ul>
<ul>
 <li class="active">changeset</li>
 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
 <li><a href="/file/0cd96de13884">browse</a></li>
</ul>
<ul>
 
</ul>
</div>

<div class="main">

<h2><a href="/">test</a></h2>
<h3>changeset 0:0cd96de13884  </h3>

<form class="search" action="/log">

<p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
</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>
 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td></tr>
<tr>
 <th class="author">parents</th>
 <td class="author"></td>
</tr>
<tr>
 <th class="author">children</th>
 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
</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>
</table>

<div class="overflow">
<div class="sourcefirst">   line diff</div>

<div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1">     1.1</a> new file mode 100644
<a href="#l1.2" id="l1.2">     1.2</a> <span class="minusline">--- /dev/null
</span><a href="#l1.3" id="l1.3">     1.3</a> <span class="plusline">+++ b/a
</span><a href="#l1.4" id="l1.4">     1.4</a> <span class="atline">@@ -0,0 +1,1 @@
</span><a href="#l1.5" id="l1.5">     1.5</a> <span class="plusline">+a
</span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1">     2.1</a> new file mode 100644
<a href="#l2.2" id="l2.2">     2.2</a> <span class="minusline">--- /dev/null
</span><a href="#l2.3" id="l2.3">     2.3</a> <span class="plusline">+++ b/b
</span><a href="#l2.4" id="l2.4">     2.4</a> <span class="atline">@@ -0,0 +1,1 @@
</span><a href="#l2.5" id="l2.5">     2.5</a> <span class="plusline">+b
</span></pre></div>
</div>

</div>
</div>


</body>
</html>

% revision
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

% diff removed file
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" />

<title>test: a diff</title>
</head>
<body>

<div class="container">
<div class="menu">
<div class="logo">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
<li><a href="/shortlog/78e4ebad7cdf">log</a></li>
<li><a href="/graph/78e4ebad7cdf">graph</a></li>
<li><a href="/tags">tags</a></li>
<li><a href="/branches">branches</a></li>
</ul>
<ul>
<li><a href="/rev/78e4ebad7cdf">changeset</a></li>
<li><a href="/file/78e4ebad7cdf">browse</a></li>
</ul>
<ul>
<li><a href="/file/78e4ebad7cdf/a">file</a></li>
<li><a href="/file/tip/a">latest</a></li>
<li class="active">diff</li>
<li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
<li><a href="/log/78e4ebad7cdf/a">file log</a></li>
<li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
</ul>
</div>

<div class="main">
<h2><a href="/">test</a></h2>
<h3>diff a @ 1:78e4ebad7cdf</h3>

<form class="search" action="/log">
<p></p>
<p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
</form>

<div class="description">b</div>

<table id="changesetEntry">
<tr>
 <th>author</th>
 <td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
 <th>date</th>
 <td>Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td>
</tr>
<tr>
 <th>parents</th>
 <td></td>
</tr>
<tr>
 <th>children</th>
 <td></td>
</tr>

</table>

<div class="overflow">
<div class="sourcefirst">   line diff</div>

<div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1">     1.1</a> new file mode 100755
<a href="#l1.2" id="l1.2">     1.2</a> <span class="minusline">--- /dev/null
</span><a href="#l1.3" id="l1.3">     1.3</a> <span class="plusline">+++ b/a
</span><a href="#l1.4" id="l1.4">     1.4</a> <span class="atline">@@ -0,0 +1,1 @@
</span><a href="#l1.5" id="l1.5">     1.5</a> <span class="plusline">+a
</span></pre></div>
</div>
</div>
</div>



</body>
</html>

% test import rev as raw-rev
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
% errors