##// END OF EJS Templates
hgweb: all protocol functions have become generators...
hgweb: all protocol functions have become generators Using the write() callable supplied by the start_response() call is frowned upon by the WSGI spec, returning an iterable over the content chunks is the recommended way. Be aware, though: returning many small chunks will slow down responses, because the server has to flush each chunk separately.

File last commit:

r6672:6004eedb default
r6784:18c429ea default
Show More
test-keyword.out
436 lines | 9.9 KiB | text/plain | TextLexer
Christian Ebert
keyword: add test
r5816 % help
keyword extension - keyword expansion in local repositories
This extension expands RCS/CVS-like or self-customized $Keywords$
in tracked text files selected by your configuration.
Keywords are only expanded in local repositories and not stored in
the change history. The mechanism can be regarded as a convenience
for the current user or for archive distribution.
Configuration is done in the [keyword] and [keywordmaps] sections
of hgrc files.
Example:
[keyword]
# expand keywords in every python file except those matching "x*"
**.py =
x* = ignore
Note: the more specific you are in your filename patterns
the less you lose speed in huge repos.
For [keywordmaps] template mapping and expansion demonstration and
control run "hg kwdemo".
An additional date template filter {date|utcdate} is provided.
The default template mappings (view with "hg kwdemo -d") can be replaced
with customized keywords and templates.
Again, run "hg kwdemo" to control the results of your config changes.
Before changing/disabling active keywords, run "hg kwshrink" to avoid
the risk of inadvertedly storing expanded keywords in the change history.
To force expansion after enabling it, or a configuration change, run
"hg kwexpand".
Christian Ebert
keyword: support mq; handle (q)record more gracefully...
r5884 Also, when committing with the record extension or using mq's qrecord, be aware
that keywords cannot be updated. Again, run "hg kwexpand" on the files in
question to update keyword expansions after all changes have been checked in.
Christian Ebert
keyword: add test
r5816 Expansions spanning more than one line and incremental expansions,
like CVS' $Log$, are not supported. A keyword template map
"Log = {desc}" expands to the first line of the changeset description.
list of commands:
kwdemo print [keywordmaps] configuration and an expansion example
kwexpand expand keywords in working directory
kwfiles print files currently configured for keyword expansion
kwshrink revert expanded keywords in working directory
use "hg -v help keyword" to show aliases and global options
% hg kwdemo
[extensions]
hgext.keyword =
[keyword]
* =
b = ignore
demo.txt =
[keywordmaps]
RCSFile = {file|basename},v
Author = {author|user}
Header = {root}/{file},v {node|short} {date|utcdate} {author|user}
Source = {root}/{file},v
Date = {date|utcdate}
Id = {file|basename},v {node|short} {date|utcdate} {author|user}
Revision = {node|short}
$RCSFile: demo.txt,v $
$Author: test $
$Header: /TMP/demo.txt,v xxxxxxxxxxxx 2000/00/00 00:00:00 test $
$Source: /TMP/demo.txt,v $
$Date: 2000/00/00 00:00:00 $
$Id: demo.txt,v xxxxxxxxxxxx 2000/00/00 00:00:00 test $
$Revision: xxxxxxxxxxxx $
[extensions]
hgext.keyword =
[keyword]
* =
b = ignore
demo.txt =
[keywordmaps]
Branch = {branches}
$Branch: demobranch $
% kwshrink should exit silently in empty/invalid repo
Patrick Mezard
test-keyword: make it run under Windows...
r6061 pulling from test-keyword.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Christian Ebert
keyword: add test
r5816 % cat
expand $Id$
do not process $Id:
xxx $
ignore $Id$
% addremove
adding a
adding b
% status
A a
A b
% default keyword expansion including commit hook
% interrupted commit should not change state or run commit hook
a
b
transaction abort!
rollback completed
Thomas Arendsen Hein
Solaris compatibility fixes for test-keyword:...
r5855 abort: empty commit message
Christian Ebert
keyword: add test
r5816 % status
A a
A b
% commit
a
b
overwriting a expanding keywords
running hook commit.test: cp a hooktest
% status
? hooktest
% identify
Patrick Mezard
test-keyword: make it run under Windows...
r6061 ef63ca68695b
Christian Ebert
keyword: add test
r5816 % cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
ignore $Id$
% hg cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
ignore $Id$
a
% diff a hooktest
% removing commit hook from config
Christian Ebert
keyword: safeguards against erroneous behaviour or aborts...
r6051 % bundle
Patrick Mezard
test-keyword: make it run under Windows...
r6061 2 changesets found
Christian Ebert
keyword: add test for patch.diff monkey
r6116 % notify on pull to check whether keywords stay as is in email
% ie. if patch.diff wrapper acts as it should
Christian Ebert
keyword: safeguards against erroneous behaviour or aborts...
r6051 % pull from bundle
pulling from ../kw.hg
requesting all changes
adding changesets
adding manifests
adding file changes
Patrick Mezard
test-keyword: make it run under Windows...
r6061 added 2 changesets with 3 changes to 3 files
Christian Ebert
keyword: add test for patch.diff monkey
r6116
diff -r 000000000000 -r a2392c293916 sym
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sym Sat Feb 09 20:25:47 2008 +0100
@@ -0,0 +1,1 @@
+a
\ No newline at end of file
diff -r a2392c293916 -r ef63ca68695b a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,3 @@
+expand $Id$
+do not process $Id:
+xxx $
diff -r a2392c293916 -r ef63ca68695b 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 @@
+ignore $Id$
Christian Ebert
keyword: safeguards against erroneous behaviour or aborts...
r6051 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Christian Ebert
keyword: add test for patch.diff monkey
r6116 % remove notify config
Christian Ebert
keyword: add test
r5816 % touch
% status
% update
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
% cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
ignore $Id$
Christian Ebert
keyword: test that expansion is done filewise...
r5856 % check whether expansion is filewise
% commit c
adding c
% force expansion
overwriting a expanding keywords
overwriting c expanding keywords
% compare changenodes in a c
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
Christian Ebert
keyword: test that expansion is done filewise...
r5856 do not process $Id:
xxx $
Patrick Mezard
test-keyword: make it run under Windows...
r6061 $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $
Christian Ebert
keyword: test that expansion is done filewise...
r5856 tests for different changenodes
Christian Ebert
keyword: safeguards against erroneous behaviour or aborts...
r6051 % qinit -c
Christian Ebert
keyword: add very simple mq test
r5894 % qimport
Christian Ebert
keyword: safeguards against erroneous behaviour or aborts...
r6051 % qcommit
Christian Ebert
keyword: add very simple mq test
r5894 % keywords should not be expanded in patch
# HG changeset patch
# User User Name <user@example.com>
# Date 1 0
Patrick Mezard
test-keyword: make it run under Windows...
r6061 # Node ID 40a904bbbe4cd4ab0a1f28411e35db26341a40ad
# Parent ef63ca68695bc9495032c6fda1350c71e6d256e9
Christian Ebert
keyword: add very simple mq test
r5894 cndiff
Patrick Mezard
test-keyword: make it run under Windows...
r6061 diff -r ef63ca68695b -r 40a904bbbe4c c
Christian Ebert
keyword: add very simple mq test
r5894 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/c Thu Jan 01 00:00:01 1970 +0000
@@ -0,0 +1,2 @@
+$Id$
+tests for different changenodes
% qpop
Patch queue now empty
% qgoto - should imply qpush
applying mqtest.diff
Now at: mqtest.diff
% cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $
Christian Ebert
keyword: add very simple mq test
r5894 tests for different changenodes
% qpop and move on
Patch queue now empty
Christian Ebert
keyword: add test
r5816 % copy
% kwfiles added
a
c
% commit
c
c: copy a:0045e12f6c5791aac80ca6cbfd97709a88307292
overwriting c expanding keywords
% cat a c
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: c,v e22d299ac0c2 1970/01/01 00:00:01 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
Matt Mackall
tests: remove some unnecessary sleeps
r6328 % touch copied c
Christian Ebert
keyword: add test
r5816 % status
% kwfiles
a
c
% diff --rev
Patrick Mezard
test-keyword: make it run under Windows...
r6061 diff -r ef63ca68695b c
Christian Ebert
keyword: add test
r5816 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,3 @@
Christian Ebert
keyword: avoid extra diffs when not comparing against working dir...
r5885 +expand $Id$
Christian Ebert
keyword: add test
r5816 +do not process $Id:
+xxx $
% rollback
rolling back last transaction
% status
A c
% update -C
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
% custom keyword expansion
% try with kwdemo
[extensions]
hgext.keyword =
[keyword]
* =
b = ignore
demo.txt =
[keywordmaps]
Xinfo = {author}: {desc}
$Xinfo: test: hg keyword config and expansion example $
% cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
ignore $Id$
% hg cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a ef63ca68695b Thu, 01 Jan 1970 00:00:00 +0000 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
ignore $Id$
a
% interrupted commit should not change state
transaction abort!
rollback completed
Thomas Arendsen Hein
Solaris compatibility fixes for test-keyword:...
r5855 abort: empty commit message
Christian Ebert
keyword: add test
r5816 % status
M a
? log
% commit
a
overwriting a expanding keywords
% status
% cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
$Xinfo: User Name <user@example.com>: firstline $
ignore $Id$
% hg cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
$Xinfo: User Name <user@example.com>: firstline $
ignore $Id$
a
Christian Ebert
keyword: disable expansion for annotate...
r6667 % annotate
1: expand $Id$
1: do not process $Id:
1: xxx $
2: $Xinfo$
Christian Ebert
keyword: add test
r5816 % remove
% status
% rollback
rolling back last transaction
% status
R a
% revert a
% cat a
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
$Xinfo: User Name <user@example.com>: firstline $
% clone to test incoming
requesting all changes
adding changesets
adding manifests
adding file changes
Patrick Mezard
test-keyword: make it run under Windows...
r6061 added 2 changesets with 3 changes to 3 files
Adrian Buehlmann
clone: print "updating working directory" status message...
r6338 updating working directory
Christian Ebert
keyword: add test
r5816 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
% incoming
Jesse Glick
Ensure that absolutized paths from hgrc do not contain ../ segments.
r5943 comparing with test-keyword/Test
Christian Ebert
keyword: add test
r5816 searching for changes
Patrick Mezard
test-keyword: make it run under Windows...
r6061 changeset: 2:bb948857c743
Christian Ebert
keyword: add test
r5816 tag: tip
user: User Name <user@example.com>
date: Thu Jan 01 00:00:02 1970 +0000
summary: firstline
% commit rejecttest
a
overwriting a expanding keywords
% export
% import
applying ../rejecttest.diff
% cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a 4e0994474d25 Thu, 01 Jan 1970 00:00:03 +0000 user $ rejecttest
Christian Ebert
keyword: add test
r5816 do not process $Id: rejecttest
xxx $
$Xinfo: User Name <user@example.com>: rejects? $
ignore $Id$
% rollback
rolling back last transaction
% clean update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% kwexpand/kwshrink on selected files
% copy a x/a
% kwexpand a
overwriting a expanding keywords
% kwexpand x/a should abort
Christian Ebert
keyword: mimic cmdutil.bail_if_changed even more...
r6672 abort: outstanding uncommitted changes
Christian Ebert
keyword: add test
r5816 x/a
x/a: copy a:779c764182ce5d43e2b1eb66ce06d7b47bfe342e
overwriting x/a expanding keywords
% cat a
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: x/a cfa68229c116 Thu, 01 Jan 1970 00:00:03 +0000 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
$Xinfo: User Name <user@example.com>: xa $
% kwshrink a inside directory x
overwriting x/a shrinking keywords
% cat a
expand $Id$
do not process $Id:
xxx $
$Xinfo$
% kwexpand nonexistent
Patrick Mezard
test-keyword: make it run under Windows...
r6061 nonexistent:
Christian Ebert
keyword: add test
r5816 % switch off expansion
% kwshrink with unknown file u
overwriting a shrinking keywords
overwriting x/a shrinking keywords
% cat
expand $Id$
do not process $Id:
xxx $
$Xinfo$
ignore $Id$
% hg cat
Patrick Mezard
test-keyword: make it run under Windows...
r6061 expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $
Christian Ebert
keyword: add test
r5816 do not process $Id:
xxx $
$Xinfo: User Name <user@example.com>: firstline $
ignore $Id$
a
% cat
expand $Id$
do not process $Id:
xxx $
$Xinfo$
ignore $Id$
% hg cat
expand $Id$
do not process $Id:
xxx $
$Xinfo$
ignore $Id$
a
Dirkjan Ochtman
tests: add tests for hgweb to test-keyword
r6354 % hg serve
% hgweb changeset
200 Script output follows
# HG changeset patch
# User User Name <user@example.com>
# Date 3 0
# Node ID cfa68229c1167443337266ebac453c73b1d5d16e
# Parent bb948857c743469b22bbf51f7ec8112279ca5d83
xa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/x/a Thu Jan 01 00:00:03 1970 +0000
@@ -0,0 +1,4 @@
+expand $Id$
+do not process $Id:
+xxx $
+$Xinfo$
% hgweb filediff
200 Script output follows
--- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:02 1970 +0000
@@ -1,3 +1,4 @@
expand $Id$
do not process $Id:
xxx $
+$Xinfo$
% errors encountered