test-keyword.t
1475 lines
| 31.6 KiB
| text/troff
|
Tads3Lexer
/ tests / test-keyword.t
Christian Ebert
|
r29634 | Run kwdemo outside a repo | ||
$ hg -q --config extensions.keyword= --config keywordmaps.Foo="{author|user}" kwdemo | ||||
[extensions] | ||||
keyword = | ||||
[keyword] | ||||
demo.txt = | ||||
[keywordset] | ||||
svn = False | ||||
[keywordmaps] | ||||
Foo = {author|user} | ||||
$Foo: test $ | ||||
Matt Mackall
|
r11905 | $ cat <<EOF >> $HGRCPATH | ||
> [extensions] | ||||
> keyword = | ||||
> mq = | ||||
> notify = | ||||
> record = | ||||
> transplant = | ||||
> [ui] | ||||
> interactive = true | ||||
> EOF | ||||
Mads Kiilerich
|
r17015 | hide outer repo | ||
$ hg init | ||||
Matt Mackall
|
r11905 | Run kwdemo before [keyword] files are set up | ||
as it would succeed without uisetup otherwise | ||||
$ hg --quiet kwdemo | ||||
[extensions] | ||||
keyword = | ||||
[keyword] | ||||
demo.txt = | ||||
Christian Ebert
|
r13298 | [keywordset] | ||
svn = False | ||||
Matt Mackall
|
r11905 | [keywordmaps] | ||
Author = {author|user} | ||||
Date = {date|utcdate} | ||||
Header = {root}/{file},v {node|short} {date|utcdate} {author|user} | ||||
Id = {file|basename},v {node|short} {date|utcdate} {author|user} | ||||
RCSFile = {file|basename},v | ||||
RCSfile = {file|basename},v | ||||
Revision = {node|short} | ||||
Source = {root}/{file},v | ||||
Brodie Rao
|
r12372 | $Author: test $ | ||
Brodie Rao
|
r12376 | $Date: ????/??/?? ??:??:?? $ (glob) | ||
$Header: */demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob) | ||||
$Id: demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob) | ||||
Brodie Rao
|
r12372 | $RCSFile: demo.txt,v $ | ||
$RCSfile: demo.txt,v $ | ||||
Brodie Rao
|
r12376 | $Revision: ???????????? $ (glob) | ||
$Source: */demo.txt,v $ (glob) | ||||
Matt Mackall
|
r11905 | |||
$ hg --quiet kwdemo "Branch = {branches}" | ||||
[extensions] | ||||
keyword = | ||||
[keyword] | ||||
demo.txt = | ||||
Christian Ebert
|
r13298 | [keywordset] | ||
svn = False | ||||
Matt Mackall
|
r11905 | [keywordmaps] | ||
Branch = {branches} | ||||
$Branch: demobranch $ | ||||
FUJIWARA Katsunori
|
r28694 | (test template filter svnisodate and svnutcdate) | ||
$ hg --quiet kwdemo --config keywordset.svn=True | ||||
[extensions] | ||||
keyword = | ||||
[keyword] | ||||
demo.txt = | ||||
[keywordset] | ||||
svn = True | ||||
[keywordmaps] | ||||
Author = {author|user} | ||||
Date = {date|svnisodate} | ||||
Id = {file|basename},v {node|short} {date|svnutcdate} {author|user} | ||||
LastChangedBy = {author|user} | ||||
LastChangedDate = {date|svnisodate} | ||||
LastChangedRevision = {node|short} | ||||
Revision = {node|short} | ||||
$Author: test $ | ||||
$Date: ????-??-?? ??:??:?? ????? (???, ?? ??? ????) $ (glob) | ||||
$Id: demo.txt,v ???????????? ????-??-?? ??:??:??Z test $ (glob) | ||||
$LastChangedBy: test $ | ||||
$LastChangedDate: ????-??-?? ??:??:?? ????? (???, ?? ??? ????) $ (glob) | ||||
$LastChangedRevision: ???????????? $ (glob) | ||||
$Revision: ???????????? $ (glob) | ||||
Matt Mackall
|
r11905 | $ cat <<EOF >> $HGRCPATH | ||
> [keyword] | ||||
> ** = | ||||
> b = ignore | ||||
Christian Ebert
|
r12626 | > i = ignore | ||
Matt Mackall
|
r11905 | > [hooks] | ||
Christian Ebert
|
r12629 | > EOF | ||
$ cp $HGRCPATH $HGRCPATH.nohooks | ||||
> cat <<EOF >> $HGRCPATH | ||||
Matt Mackall
|
r11905 | > commit= | ||
> commit.test=cp a hooktest | ||||
> EOF | ||||
$ hg init Test-bndl | ||||
$ cd Test-bndl | ||||
kwshrink should exit silently in empty/invalid repo | ||||
$ hg kwshrink | ||||
Symlinks cannot be created on Windows. | ||||
A bundle to test this was made with: | ||||
hg init t | ||||
cd t | ||||
echo a > a | ||||
ln -s a sym | ||||
hg add sym | ||||
hg ci -m addsym -u mercurial | ||||
hg bundle --base null ../test-keyword.hg | ||||
Nicolas Dumazet
|
r14116 | $ hg pull -u "$TESTDIR"/bundles/test-keyword.hg | ||
Brodie Rao
|
r12376 | pulling from *test-keyword.hg (glob) | ||
Matt Mackall
|
r11905 | 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 | ||||
$ echo 'expand $Id$' > a | ||||
$ echo 'do not process $Id:' >> a | ||||
$ echo 'xxx $' >> a | ||||
$ echo 'ignore $Id$' > b | ||||
Output files as they were created | ||||
$ cat a b | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
ignore $Id$ | ||||
no kwfiles | ||||
$ hg kwfiles | ||||
untracked candidates | ||||
$ hg -v kwfiles --unknown | ||||
k a | ||||
Add files and check status | ||||
$ hg addremove | ||||
adding a | ||||
adding b | ||||
$ hg status | ||||
A a | ||||
A b | ||||
Default keyword expansion including commit hook | ||||
Interrupted commit should not change state or run commit hook | ||||
$ hg --debug commit | ||||
abort: empty commit message | ||||
Matt Mackall
|
r12316 | [255] | ||
Matt Mackall
|
r11905 | $ hg status | ||
A a | ||||
A b | ||||
Commit with several checks | ||||
$ hg --debug commit -mabsym -u 'User Name <user@example.com>' | ||||
Mads Kiilerich
|
r23749 | committing files: | ||
Matt Mackall
|
r11905 | a | ||
b | ||||
Mads Kiilerich
|
r23749 | committing manifest | ||
committing changelog | ||||
Matt Mackall
|
r11905 | overwriting a expanding keywords | ||
Pierre-Yves David
|
r32267 | updating the branch cache | ||
FUJIWARA Katsunori
|
r27192 | committed changeset 1:ef63ca68695bc9495032c6fda1350c71e6d256e9 | ||
Matt Mackall
|
r11905 | running hook commit.test: cp a hooktest | ||
$ hg status | ||||
? hooktest | ||||
$ hg debugrebuildstate | ||||
$ hg --quiet identify | ||||
ef63ca68695b | ||||
cat files in working directory with keywords expanded | ||||
$ cat a b | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
ignore $Id$ | ||||
hg cat files and symlink, no expansion | ||||
$ hg cat sym a b && echo | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
ignore $Id$ | ||||
Mads Kiilerich
|
r12640 | a | ||
Matt Mackall
|
r11905 | |||
$ diff a hooktest | ||||
Christian Ebert
|
r12629 | $ cp $HGRCPATH.nohooks $HGRCPATH | ||
Matt Mackall
|
r11905 | $ rm hooktest | ||
Christian Ebert
|
r15871 | hg status of kw-ignored binary file starting with '\1\n' | ||
Jim Hague
|
r16098 | >>> open("i", "wb").write("\1\nfoo") | ||
Christian Ebert
|
r15871 | $ hg -q commit -Am metasep i | ||
$ hg status | ||||
Jim Hague
|
r16098 | >>> open("i", "wb").write("\1\nbar") | ||
Christian Ebert
|
r15871 | $ hg status | ||
M i | ||||
$ hg -q commit -m "modify metasep" i | ||||
$ hg status --rev 2:3 | ||||
M i | ||||
$ touch empty | ||||
$ hg -q commit -A -m "another file" | ||||
$ hg status -A --rev 3:4 i | ||||
C i | ||||
Christian Ebert
|
r23621 | $ hg -q strip --no-backup 2 | ||
Christian Ebert
|
r15871 | |||
Test hook execution | ||||
Matt Mackall
|
r11905 | bundle | ||
$ hg bundle --base null ../kw.hg | ||||
2 changesets found | ||||
$ cd .. | ||||
$ hg init Test | ||||
$ cd Test | ||||
Notify on pull to check whether keywords stay as is in email | ||||
ie. if patch.diff wrapper acts as it should | ||||
$ cat <<EOF >> $HGRCPATH | ||||
> [hooks] | ||||
> incoming.notify = python:hgext.notify.hook | ||||
> [notify] | ||||
> sources = pull | ||||
> diffstat = False | ||||
Mads Kiilerich
|
r12648 | > maxsubject = 15 | ||
Matt Mackall
|
r11905 | > [reposubs] | ||
> * = Test | ||||
> EOF | ||||
Pull from bundle and trigger notify | ||||
$ hg pull -u ../kw.hg | ||||
pulling from ../kw.hg | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 3 changes to 3 files | ||||
Content-Type: text/plain; charset="us-ascii" | ||||
MIME-Version: 1.0 | ||||
Content-Transfer-Encoding: 7bit | ||||
Brodie Rao
|
r12376 | Date: * (glob) | ||
Mads Kiilerich
|
r12648 | Subject: changeset in... | ||
Matt Mackall
|
r11905 | From: mercurial | ||
X-Hg-Notification: changeset a2392c293916 | ||||
Brodie Rao
|
r12376 | Message-Id: <hg.a2392c293916*> (glob) | ||
Matt Mackall
|
r11905 | To: Test | ||
Mads Kiilerich
|
r15447 | changeset a2392c293916 in $TESTTMP/Test (glob) | ||
Martin Geisler
|
r13572 | details: $TESTTMP/Test?cmd=changeset;node=a2392c293916 | ||
Matt Mackall
|
r11905 | description: | ||
addsym | ||||
diffs (6 lines): | ||||
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 | ||||
Content-Type: text/plain; charset="us-ascii" | ||||
MIME-Version: 1.0 | ||||
Content-Transfer-Encoding: 7bit | ||||
Brodie Rao
|
r12376 | Date:* (glob) | ||
Mads Kiilerich
|
r12648 | Subject: changeset in... | ||
Matt Mackall
|
r11905 | From: User Name <user@example.com> | ||
X-Hg-Notification: changeset ef63ca68695b | ||||
Brodie Rao
|
r12376 | Message-Id: <hg.ef63ca68695b*> (glob) | ||
Matt Mackall
|
r11905 | To: Test | ||
Mads Kiilerich
|
r15447 | changeset ef63ca68695b in $TESTTMP/Test (glob) | ||
Mads Kiilerich
|
r12640 | details: $TESTTMP/Test?cmd=changeset;node=ef63ca68695b | ||
Matt Mackall
|
r11905 | description: | ||
absym | ||||
diffs (12 lines): | ||||
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$ | ||||
3 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Christian Ebert
|
r12629 | $ cp $HGRCPATH.nohooks $HGRCPATH | ||
Matt Mackall
|
r11905 | |||
Touch files and check with status | ||||
$ touch a b | ||||
$ hg status | ||||
Update and expand | ||||
$ rm sym a b | ||||
$ hg update -C | ||||
3 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cat a b | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
ignore $Id$ | ||||
Christian Ebert
|
r15070 | Check whether expansion is filewise and file mode is preserved | ||
Matt Mackall
|
r11905 | |||
$ echo '$Id$' > c | ||||
$ echo 'tests for different changenodes' >> c | ||||
Adrian Buehlmann
|
r17099 | #if unix-permissions | ||
Christian Ebert
|
r15070 | $ chmod 600 c | ||
$ ls -l c | cut -b 1-10 | ||||
-rw------- | ||||
Adrian Buehlmann
|
r17099 | #endif | ||
Matt Mackall
|
r11905 | |||
commit file c | ||||
$ hg commit -A -mcndiff -d '1 0' -u 'User Name <user@example.com>' | ||||
adding c | ||||
Adrian Buehlmann
|
r17099 | #if unix-permissions | ||
Christian Ebert
|
r15070 | $ ls -l c | cut -b 1-10 | ||
-rw------- | ||||
Adrian Buehlmann
|
r17099 | #endif | ||
Matt Mackall
|
r11905 | |||
force expansion | ||||
$ hg -v kwexpand | ||||
overwriting a expanding keywords | ||||
overwriting c expanding keywords | ||||
compare changenodes in a and c | ||||
$ cat a c | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ | ||||
tests for different changenodes | ||||
Christian Ebert
|
r12684 | record | ||
$ echo '$Id$' > r | ||||
$ hg add r | ||||
Matt Mackall
|
r11905 | record chunk | ||
Adrian Buehlmann
|
r17099 | >>> lines = open('a', 'rb').readlines() | ||
Christian Ebert
|
r15556 | >>> lines.insert(1, 'foo\n') | ||
>>> lines.append('bar\n') | ||||
Adrian Buehlmann
|
r17099 | >>> open('a', 'wb').writelines(lines) | ||
Mads Kiilerich
|
r17098 | $ hg record -d '10 1' -m rectest a<<EOF | ||
Matt Mackall
|
r11905 | > y | ||
> y | ||||
> n | ||||
> EOF | ||||
diff --git a/a b/a | ||||
2 hunks, 2 lines changed | ||||
Mads Kiilerich
|
r22589 | examine changes to 'a'? [Ynesfdaq?] y | ||
Matt Mackall
|
r11905 | @@ -1,3 +1,4 @@ | ||
expand $Id$ | ||||
+foo | ||||
do not process $Id: | ||||
xxx $ | ||||
Mads Kiilerich
|
r22589 | record change 1/2 to 'a'? [Ynesfdaq?] y | ||
Matt Mackall
|
r11905 | @@ -2,2 +3,3 @@ | ||
do not process $Id: | ||||
xxx $ | ||||
+bar | ||||
Mads Kiilerich
|
r22589 | record change 2/2 to 'a'? [Ynesfdaq?] n | ||
Matt Mackall
|
r11905 | |||
$ hg identify | ||||
Mads Kiilerich
|
r17098 | 5f5eb23505c3+ tip | ||
Matt Mackall
|
r11905 | $ hg status | ||
M a | ||||
Christian Ebert
|
r12684 | A r | ||
Matt Mackall
|
r11905 | |||
Cat modified file a | ||||
$ cat a | ||||
Mads Kiilerich
|
r17098 | expand $Id: a,v 5f5eb23505c3 1970/01/01 00:00:10 test $ | ||
Matt Mackall
|
r11905 | foo | ||
do not process $Id: | ||||
xxx $ | ||||
bar | ||||
Diff remaining chunk | ||||
Christian Ebert
|
r12684 | $ hg diff a | ||
Mads Kiilerich
|
r17098 | diff -r 5f5eb23505c3 a | ||
--- a/a Thu Jan 01 00:00:09 1970 -0000 | ||||
Brodie Rao
|
r12376 | +++ b/a * (glob) | ||
Matt Mackall
|
r11905 | @@ -2,3 +2,4 @@ | ||
foo | ||||
do not process $Id: | ||||
xxx $ | ||||
+bar | ||||
$ hg rollback | ||||
Gilles Moris
|
r13446 | repository tip rolled back to revision 2 (undo commit) | ||
working directory now based on revision 2 | ||||
Matt Mackall
|
r11905 | |||
Record all chunks in file a | ||||
$ echo foo > msg | ||||
- do not use "hg record -m" here! | ||||
Mads Kiilerich
|
r17098 | $ hg record -l msg -d '11 1' a<<EOF | ||
Matt Mackall
|
r11905 | > y | ||
> y | ||||
> y | ||||
> EOF | ||||
diff --git a/a b/a | ||||
2 hunks, 2 lines changed | ||||
Mads Kiilerich
|
r22589 | examine changes to 'a'? [Ynesfdaq?] y | ||
Matt Mackall
|
r11905 | @@ -1,3 +1,4 @@ | ||
expand $Id$ | ||||
+foo | ||||
do not process $Id: | ||||
xxx $ | ||||
Mads Kiilerich
|
r22589 | record change 1/2 to 'a'? [Ynesfdaq?] y | ||
Matt Mackall
|
r11905 | @@ -2,2 +3,3 @@ | ||
do not process $Id: | ||||
xxx $ | ||||
+bar | ||||
Mads Kiilerich
|
r22589 | record change 2/2 to 'a'? [Ynesfdaq?] y | ||
Matt Mackall
|
r11905 | |||
File a should be clean | ||||
$ hg status -A a | ||||
C a | ||||
Christian Ebert
|
r12498 | rollback and revert expansion | ||
$ cat a | ||||
Mads Kiilerich
|
r17098 | expand $Id: a,v 78e0a02d76aa 1970/01/01 00:00:11 test $ | ||
Christian Ebert
|
r12498 | foo | ||
do not process $Id: | ||||
xxx $ | ||||
bar | ||||
$ hg --verbose rollback | ||||
Gilles Moris
|
r13446 | repository tip rolled back to revision 2 (undo commit) | ||
working directory now based on revision 2 | ||||
Christian Ebert
|
r12498 | overwriting a expanding keywords | ||
$ hg status a | ||||
M a | ||||
$ cat a | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
foo | ||||
do not process $Id: | ||||
xxx $ | ||||
bar | ||||
$ echo '$Id$' > y | ||||
$ echo '$Id$' > z | ||||
$ hg add y | ||||
$ hg commit -Am "rollback only" z | ||||
$ cat z | ||||
$Id: z,v 45a5d3adce53 1970/01/01 00:00:00 test $ | ||||
$ hg --verbose rollback | ||||
Gilles Moris
|
r13446 | repository tip rolled back to revision 2 (undo commit) | ||
working directory now based on revision 2 | ||||
Christian Ebert
|
r12498 | overwriting z shrinking keywords | ||
Only z should be overwritten | ||||
$ hg status a y z | ||||
M a | ||||
A y | ||||
A z | ||||
$ cat z | ||||
$Id$ | ||||
$ hg forget y z | ||||
$ rm y z | ||||
Christian Ebert
|
r12684 | record added file alone | ||
Matt Mackall
|
r11905 | |||
Mads Kiilerich
|
r17098 | $ hg -v record -l msg -d '12 2' r<<EOF | ||
Christian Ebert
|
r12630 | > y | ||
Laurent Charignon
|
r24235 | > y | ||
Christian Ebert
|
r12630 | > EOF | ||
diff --git a/r b/r | ||||
new file mode 100644 | ||||
Mads Kiilerich
|
r22589 | examine changes to 'r'? [Ynesfdaq?] y | ||
Laurent Charignon
|
r24845 | @@ -0,0 +1,1 @@ | ||
+$Id$ | ||||
record this change to 'r'? [Ynesfdaq?] y | ||||
resolving manifests | ||||
patching file r | ||||
Mads Kiilerich
|
r23749 | committing files: | ||
Christian Ebert
|
r12630 | r | ||
Mads Kiilerich
|
r23749 | committing manifest | ||
committing changelog | ||||
Mads Kiilerich
|
r17098 | committed changeset 3:82a2f715724d | ||
Christian Ebert
|
r12630 | overwriting r expanding keywords | ||
Christian Ebert
|
r15075 | $ hg status r | ||
Christian Ebert
|
r12630 | $ hg --verbose rollback | ||
Gilles Moris
|
r13446 | repository tip rolled back to revision 2 (undo commit) | ||
working directory now based on revision 2 | ||||
Christian Ebert
|
r12630 | overwriting r shrinking keywords | ||
$ hg forget r | ||||
$ rm msg r | ||||
Christian Ebert
|
r12684 | $ hg update -C | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Christian Ebert
|
r12630 | |||
Christian Ebert
|
r12844 | record added keyword ignored file | ||
$ echo '$Id$' > i | ||||
$ hg add i | ||||
Mads Kiilerich
|
r17098 | $ hg --verbose record -d '13 1' -m recignored<<EOF | ||
Christian Ebert
|
r12844 | > y | ||
Laurent Charignon
|
r24235 | > y | ||
Christian Ebert
|
r12844 | > EOF | ||
diff --git a/i b/i | ||||
new file mode 100644 | ||||
Mads Kiilerich
|
r22589 | examine changes to 'i'? [Ynesfdaq?] y | ||
Laurent Charignon
|
r24845 | @@ -0,0 +1,1 @@ | ||
+$Id$ | ||||
record this change to 'i'? [Ynesfdaq?] y | ||||
resolving manifests | ||||
patching file i | ||||
Mads Kiilerich
|
r23749 | committing files: | ||
Christian Ebert
|
r12844 | i | ||
Mads Kiilerich
|
r23749 | committing manifest | ||
committing changelog | ||||
Mads Kiilerich
|
r17098 | committed changeset 3:9f40ceb5a072 | ||
Christian Ebert
|
r12844 | $ cat i | ||
$Id$ | ||||
$ hg -q rollback | ||||
$ hg forget i | ||||
$ rm i | ||||
Christian Ebert
|
r16810 | amend | ||
$ echo amend >> a | ||||
$ echo amend >> b | ||||
Mads Kiilerich
|
r17098 | $ hg -q commit -d '14 1' -m 'prepare amend' | ||
Christian Ebert
|
r16810 | |||
Mads Kiilerich
|
r17098 | $ hg --debug commit --amend -d '15 1' -m 'amend without changes' | grep keywords | ||
Christian Ebert
|
r16810 | overwriting a expanding keywords | ||
$ hg -q id | ||||
Pierre-Yves David
|
r17811 | 67d8c481a6be | ||
Christian Ebert
|
r16810 | $ head -1 a | ||
Pierre-Yves David
|
r17811 | expand $Id: a,v 67d8c481a6be 1970/01/01 00:00:15 test $ | ||
Christian Ebert
|
r16810 | |||
Christian Ebert
|
r23621 | $ hg -q strip --no-backup tip | ||
Christian Ebert
|
r16810 | |||
Matt Mackall
|
r11905 | Test patch queue repo | ||
$ hg init --mq | ||||
$ hg qimport -r tip -n mqtest.diff | ||||
$ hg commit --mq -m mqtest | ||||
Keywords should not be expanded in patch | ||||
$ cat .hg/patches/mqtest.diff | ||||
# HG changeset patch | ||||
# User User Name <user@example.com> | ||||
# Date 1 0 | ||||
Mads Kiilerich
|
r18648 | # Thu Jan 01 00:00:01 1970 +0000 | ||
Matt Mackall
|
r11905 | # Node ID 40a904bbbe4cd4ab0a1f28411e35db26341a40ad | ||
# Parent ef63ca68695bc9495032c6fda1350c71e6d256e9 | ||||
cndiff | ||||
diff -r ef63ca68695b -r 40a904bbbe4c c | ||||
--- /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 | ||||
$ hg qpop | ||||
popping mqtest.diff | ||||
patch queue now empty | ||||
qgoto, implying qpush, should expand | ||||
$ hg qgoto mqtest.diff | ||||
applying mqtest.diff | ||||
now at: mqtest.diff | ||||
$ cat c | ||||
$Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ | ||||
tests for different changenodes | ||||
$ hg cat c | ||||
$Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ | ||||
tests for different changenodes | ||||
Keywords should not be expanded in filelog | ||||
$ hg --config 'extensions.keyword=!' cat c | ||||
$Id$ | ||||
tests for different changenodes | ||||
qpop and move on | ||||
$ hg qpop | ||||
popping mqtest.diff | ||||
patch queue now empty | ||||
Copy and show added kwfiles | ||||
$ hg cp a c | ||||
$ hg kwfiles | ||||
a | ||||
c | ||||
Commit and show expansion in original and copy | ||||
$ hg --debug commit -ma2c -d '1 0' -u 'User Name <user@example.com>' | ||||
Mads Kiilerich
|
r23749 | committing files: | ||
Matt Mackall
|
r11905 | c | ||
c: copy a:0045e12f6c5791aac80ca6cbfd97709a88307292 | ||||
Mads Kiilerich
|
r23749 | committing manifest | ||
committing changelog | ||||
Matt Mackall
|
r11905 | overwriting c expanding keywords | ||
Pierre-Yves David
|
r32267 | updating the branch cache | ||
Matt Mackall
|
r11905 | committed changeset 2:25736cf2f5cbe41f6be4e6784ef6ecf9f3bbcc7d | ||
$ cat a c | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
expand $Id: c,v 25736cf2f5cb 1970/01/01 00:00:01 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
Touch copied c and check its status | ||||
$ touch c | ||||
$ hg status | ||||
Christian Ebert
|
r12626 | Copy kwfile to keyword ignored file unexpanding keywords | ||
$ hg --verbose copy a i | ||||
copying a to i | ||||
overwriting i shrinking keywords | ||||
$ head -n 1 i | ||||
expand $Id$ | ||||
$ hg forget i | ||||
$ rm i | ||||
Copy ignored file to ignored file: no overwriting | ||||
$ hg --verbose copy b i | ||||
copying b to i | ||||
$ hg forget i | ||||
$ rm i | ||||
Christian Ebert
|
r13069 | cp symlink file; hg cp -A symlink file (part1) | ||
- copied symlink points to kwfile: overwrite | ||||
Christian Ebert
|
r12626 | |||
Adrian Buehlmann
|
r17099 | #if symlink | ||
Christian Ebert
|
r12626 | $ cp sym i | ||
$ ls -l i | ||||
Mads Kiilerich
|
r12647 | -rw-r--r--* (glob) | ||
Christian Ebert
|
r12626 | $ head -1 i | ||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
$ hg copy --after --verbose sym i | ||||
copying sym to i | ||||
overwriting i shrinking keywords | ||||
$ head -1 i | ||||
expand $Id$ | ||||
$ hg forget i | ||||
$ rm i | ||||
Adrian Buehlmann
|
r17099 | #endif | ||
Christian Ebert
|
r12626 | |||
Matt Mackall
|
r11905 | Test different options of hg kwfiles | ||
$ hg kwfiles | ||||
a | ||||
c | ||||
$ hg -v kwfiles --ignore | ||||
I b | ||||
I sym | ||||
$ hg kwfiles --all | ||||
K a | ||||
K c | ||||
I b | ||||
I sym | ||||
Diff specific revision | ||||
Nicolas Dumazet
|
r12102 | $ hg diff --rev 1 | ||
Matt Mackall
|
r11905 | diff -r ef63ca68695b c | ||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 | ||||
Brodie Rao
|
r12376 | +++ b/c * (glob) | ||
Matt Mackall
|
r11905 | @@ -0,0 +1,3 @@ | ||
+expand $Id$ | ||||
+do not process $Id: | ||||
+xxx $ | ||||
Status after rollback: | ||||
$ hg rollback | ||||
Gilles Moris
|
r13446 | repository tip rolled back to revision 1 (undo commit) | ||
working directory now based on revision 1 | ||||
Matt Mackall
|
r11905 | $ hg status | ||
A c | ||||
$ hg update --clean | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Mads Kiilerich
|
r16908 | #if symlink | ||
Christian Ebert
|
r13069 | cp symlink file; hg cp -A symlink file (part2) | ||
- copied symlink points to kw ignored file: do not overwrite | ||||
$ cat a > i | ||||
$ ln -s i symignored | ||||
$ hg commit -Am 'fake expansion in ignored and symlink' i symignored | ||||
$ cp symignored x | ||||
$ hg copy --after --verbose symignored x | ||||
copying symignored to x | ||||
$ head -n 1 x | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
$ hg forget x | ||||
$ rm x | ||||
$ hg rollback | ||||
Gilles Moris
|
r13446 | repository tip rolled back to revision 1 (undo commit) | ||
working directory now based on revision 1 | ||||
Christian Ebert
|
r13069 | $ hg update --clean | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ rm i symignored | ||||
Mads Kiilerich
|
r16908 | #endif | ||
Matt Mackall
|
r11905 | Custom keywordmaps as argument to kwdemo | ||
$ hg --quiet kwdemo "Xinfo = {author}: {desc}" | ||||
[extensions] | ||||
keyword = | ||||
[keyword] | ||||
** = | ||||
b = ignore | ||||
demo.txt = | ||||
Christian Ebert
|
r12626 | i = ignore | ||
Christian Ebert
|
r13298 | [keywordset] | ||
svn = False | ||||
Matt Mackall
|
r11905 | [keywordmaps] | ||
Xinfo = {author}: {desc} | ||||
$Xinfo: test: hg keyword configuration and expansion example $ | ||||
Configure custom keywordmaps | ||||
$ cat <<EOF >>$HGRCPATH | ||||
> [keywordmaps] | ||||
> Id = {file} {node|short} {date|rfc822date} {author|user} | ||||
> Xinfo = {author}: {desc} | ||||
> EOF | ||||
Cat and hg cat files before custom expansion | ||||
$ cat a b | ||||
expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
ignore $Id$ | ||||
$ hg cat sym a b && echo | ||||
expand $Id: a ef63ca68695b Thu, 01 Jan 1970 00:00:00 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
ignore $Id$ | ||||
Mads Kiilerich
|
r12640 | a | ||
Matt Mackall
|
r11905 | |||
Mads Kiilerich
|
r17424 | Write custom keyword and prepare multi-line commit message | ||
Matt Mackall
|
r11905 | |||
$ echo '$Xinfo$' >> a | ||||
$ cat <<EOF >> log | ||||
> firstline | ||||
> secondline | ||||
> EOF | ||||
Interrupted commit should not change state | ||||
$ hg commit | ||||
abort: empty commit message | ||||
Matt Mackall
|
r12316 | [255] | ||
Matt Mackall
|
r11905 | $ hg status | ||
M a | ||||
? c | ||||
? log | ||||
Mads Kiilerich
|
r17424 | Commit with multi-line message and custom expansion | ||
Matt Mackall
|
r11905 | |||
$ hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>' | ||||
Mads Kiilerich
|
r23749 | committing files: | ||
Matt Mackall
|
r11905 | a | ||
Mads Kiilerich
|
r23749 | committing manifest | ||
committing changelog | ||||
Matt Mackall
|
r11905 | overwriting a expanding keywords | ||
Pierre-Yves David
|
r32267 | updating the branch cache | ||
Matt Mackall
|
r11905 | committed changeset 2:bb948857c743469b22bbf51f7ec8112279ca5d83 | ||
$ rm log | ||||
Stat, verify and show custom expansion (firstline) | ||||
$ hg status | ||||
? c | ||||
$ hg verify | ||||
checking changesets | ||||
checking manifests | ||||
crosschecking files in changesets and manifests | ||||
checking files | ||||
3 files, 3 changesets, 4 total revisions | ||||
$ cat a b | ||||
expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: firstline $ | ||||
ignore $Id$ | ||||
$ hg cat sym a b && echo | ||||
expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: firstline $ | ||||
ignore $Id$ | ||||
Mads Kiilerich
|
r12640 | a | ||
Matt Mackall
|
r11905 | |||
annotate | ||||
$ hg annotate a | ||||
1: expand $Id$ | ||||
1: do not process $Id: | ||||
1: xxx $ | ||||
2: $Xinfo$ | ||||
remove with status checks | ||||
$ hg debugrebuildstate | ||||
$ hg remove a | ||||
$ hg --debug commit -m rma | ||||
Mads Kiilerich
|
r23749 | committing files: | ||
committing manifest | ||||
committing changelog | ||||
Pierre-Yves David
|
r32267 | updating the branch cache | ||
Matt Mackall
|
r11905 | committed changeset 3:d14c712653769de926994cf7fbb06c8fbd68f012 | ||
$ hg status | ||||
? c | ||||
Rollback, revert, and check expansion | ||||
$ hg rollback | ||||
Gilles Moris
|
r13446 | repository tip rolled back to revision 2 (undo commit) | ||
working directory now based on revision 2 | ||||
Matt Mackall
|
r11905 | $ hg status | ||
R a | ||||
? c | ||||
$ hg revert --no-backup --rev tip a | ||||
$ cat a | ||||
expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: firstline $ | ||||
Clone to test global and local configurations | ||||
$ cd .. | ||||
timeless@mozdev.org
|
r17485 | Expansion in destination with global configuration | ||
Matt Mackall
|
r11905 | |||
$ hg --quiet clone Test globalconf | ||||
$ cat globalconf/a | ||||
expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: firstline $ | ||||
No expansion in destination with local configuration in origin only | ||||
$ hg --quiet --config 'keyword.**=ignore' clone Test localconf | ||||
$ cat localconf/a | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
Clone to test incoming | ||||
$ hg clone -r1 Test Test-a | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 3 changes to 3 files | ||||
updating to branch default | ||||
3 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd Test-a | ||||
$ cat <<EOF >> .hg/hgrc | ||||
> [paths] | ||||
> default = ../Test | ||||
> EOF | ||||
$ hg incoming | ||||
Mads Kiilerich
|
r15447 | comparing with $TESTTMP/Test (glob) | ||
Matt Mackall
|
r11905 | searching for changes | ||
changeset: 2:bb948857c743 | ||||
tag: tip | ||||
user: User Name <user@example.com> | ||||
date: Thu Jan 01 00:00:02 1970 +0000 | ||||
summary: firstline | ||||
Imported patch should not be rejected | ||||
Christian Ebert
|
r15556 | >>> import re | ||
>>> text = re.sub(r'(Id.*)', r'\1 rejecttest', open('a').read()) | ||||
>>> open('a', 'wb').write(text) | ||||
Matt Mackall
|
r11905 | $ hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>' | ||
Mads Kiilerich
|
r23749 | committing files: | ||
Matt Mackall
|
r11905 | a | ||
Mads Kiilerich
|
r23749 | committing manifest | ||
committing changelog | ||||
Matt Mackall
|
r11905 | overwriting a expanding keywords | ||
Pierre-Yves David
|
r32267 | updating the branch cache | ||
Matt Mackall
|
r11905 | committed changeset 2:85e279d709ffc28c9fdd1b868570985fc3d87082 | ||
$ hg export -o ../rejecttest.diff tip | ||||
$ cd ../Test | ||||
$ hg import ../rejecttest.diff | ||||
applying ../rejecttest.diff | ||||
$ cat a b | ||||
expand $Id: a 4e0994474d25 Thu, 01 Jan 1970 00:00:03 +0000 user $ rejecttest | ||||
do not process $Id: rejecttest | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: rejects? $ | ||||
ignore $Id$ | ||||
$ hg rollback | ||||
Greg Ward
|
r15198 | repository tip rolled back to revision 2 (undo import) | ||
Gilles Moris
|
r13446 | working directory now based on revision 2 | ||
Matt Mackall
|
r11905 | $ hg update --clean | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
kwexpand/kwshrink on selected files | ||||
$ mkdir x | ||||
$ hg copy a x/a | ||||
Christian Ebert
|
r12844 | $ hg --verbose kwshrink a | ||
overwriting a shrinking keywords | ||||
Christian Ebert
|
r15075 | - sleep required for dirstate.normal() check | ||
$ sleep 1 | ||||
Christian Ebert
|
r12844 | $ hg status a | ||
Matt Mackall
|
r11905 | $ hg --verbose kwexpand a | ||
overwriting a expanding keywords | ||||
Christian Ebert
|
r12844 | $ hg status a | ||
Matt Mackall
|
r11905 | |||
kwexpand x/a should abort | ||||
$ hg --verbose kwexpand x/a | ||||
abort: outstanding uncommitted changes | ||||
Matt Mackall
|
r12316 | [255] | ||
Matt Mackall
|
r11905 | $ cd x | ||
$ hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>' | ||||
Mads Kiilerich
|
r23749 | committing files: | ||
Matt Mackall
|
r11905 | x/a | ||
x/a: copy a:779c764182ce5d43e2b1eb66ce06d7b47bfe342e | ||||
Mads Kiilerich
|
r23749 | committing manifest | ||
committing changelog | ||||
Matt Mackall
|
r11905 | overwriting x/a expanding keywords | ||
Pierre-Yves David
|
r32267 | updating the branch cache | ||
Matt Mackall
|
r11905 | committed changeset 3:b4560182a3f9a358179fd2d835c15e9da379c1e4 | ||
$ cat a | ||||
expand $Id: x/a b4560182a3f9 Thu, 01 Jan 1970 00:00:03 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: xa $ | ||||
kwshrink a inside directory x | ||||
$ hg --verbose kwshrink a | ||||
overwriting x/a shrinking keywords | ||||
$ cat a | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
$ cd .. | ||||
kwexpand nonexistent | ||||
$ hg kwexpand nonexistent | ||||
Brodie Rao
|
r12376 | nonexistent:* (glob) | ||
Matt Mackall
|
r11905 | |||
Adrian Buehlmann
|
r17099 | #if serve | ||
Matt Mackall
|
r11905 | hg serve | ||
- expand with hgweb file | ||||
FUJIWARA Katsunori
|
r33065 | - no expansion with hgweb annotate/changeset/filediff/comparison | ||
FUJIWARA Katsunori
|
r33064 | - expand with hgweb file, again | ||
Matt Mackall
|
r11905 | - check errors | ||
$ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log | ||||
$ cat hg.pid >> $DAEMON_PIDS | ||||
Matt Mackall
|
r25472 | $ get-with-headers.py localhost:$HGPORT 'file/tip/a/?style=raw' | ||
Matt Mackall
|
r11905 | 200 Script output follows | ||
expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: firstline $ | ||||
Matt Mackall
|
r25472 | $ get-with-headers.py localhost:$HGPORT 'annotate/tip/a/?style=raw' | ||
Matt Mackall
|
r11905 | 200 Script output follows | ||
user@1: expand $Id$ | ||||
user@1: do not process $Id: | ||||
user@1: xxx $ | ||||
user@2: $Xinfo$ | ||||
Matt Mackall
|
r25472 | $ get-with-headers.py localhost:$HGPORT 'rev/tip/?style=raw' | ||
Matt Mackall
|
r11905 | 200 Script output follows | ||
# HG changeset patch | ||||
# User User Name <user@example.com> | ||||
# Date 3 0 | ||||
# Node ID b4560182a3f9a358179fd2d835c15e9da379c1e4 | ||||
# Parent bb948857c743469b22bbf51f7ec8112279ca5d83 | ||||
xa | ||||
diff -r bb948857c743 -r b4560182a3f9 x/a | ||||
--- /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$ | ||||
Matt Mackall
|
r25472 | $ get-with-headers.py localhost:$HGPORT 'diff/bb948857c743/a?style=raw' | ||
Matt Mackall
|
r11905 | 200 Script output follows | ||
diff -r ef63ca68695b -r bb948857c743 a | ||||
--- 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$ | ||||
FUJIWARA Katsunori
|
r33065 | $ get-with-headers.py localhost:$HGPORT 'comparison/bb948857c743/a' | grep '\$[a-zA-Z]' | ||
<td class="source equal"><a href="#l1r1"> 1</a> expand $Id$</td> | ||||
<td class="source equal"><a href="#l1r1"> 1</a> expand $Id$</td> | ||||
<td class="source equal"><a href="#l2r2"> 2</a> do not process $Id:</td> | ||||
<td class="source equal"><a href="#l2r2"> 2</a> do not process $Id:</td> | ||||
<td class="source insert"><a href="#r4"> 4</a> $Xinfo$</td> | ||||
FUJIWARA Katsunori
|
r33064 | |||
(check "kwweb_skip"-ed webcommand doesn't suppress expanding keywords | ||||
at subsequent webcommands) | ||||
$ get-with-headers.py localhost:$HGPORT 'file/tip/a/?style=raw' | ||||
200 Script output follows | ||||
expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: firstline $ | ||||
FUJIWARA Katsunori
|
r33066 | $ killdaemons.py | ||
Matt Mackall
|
r11905 | $ cat errors.log | ||
Adrian Buehlmann
|
r17099 | #endif | ||
Matt Mackall
|
r11905 | |||
Prepare merge and resolve tests | ||||
$ echo '$Id$' > m | ||||
$ hg add m | ||||
Mads Kiilerich
|
r17345 | $ hg commit -m 4kw | ||
Matt Mackall
|
r11905 | $ echo foo >> m | ||
$ hg commit -m 5foo | ||||
simplemerge | ||||
$ hg update 4 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo foo >> m | ||||
$ hg commit -m 6foo | ||||
created new head | ||||
$ hg merge | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg commit -m simplemerge | ||||
$ cat m | ||||
$Id: m 27d48ee14f67 Thu, 01 Jan 1970 00:00:00 +0000 test $ | ||||
foo | ||||
conflict: keyword should stay outside conflict zone | ||||
$ hg update 4 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo bar >> m | ||||
$ hg commit -m 8bar | ||||
created new head | ||||
$ hg merge | ||||
merging m | ||||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging m! (edit, then use 'hg resolve --mark') | ||
Matt Mackall
|
r11905 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||
Brodie Rao
|
r12314 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | ||
Matt Mackall
|
r12316 | [1] | ||
Matt Mackall
|
r11905 | $ cat m | ||
$Id$ | ||||
Simon Farnsworth
|
r30062 | <<<<<<< working copy: 88a80c8d172e - test: 8bar | ||
Matt Mackall
|
r11905 | bar | ||
======= | ||||
foo | ||||
Kostia Balytskyi
|
r30460 | >>>>>>> merge rev: 85d2d2d732a5 - test: simplemerge | ||
Matt Mackall
|
r11905 | |||
Christian Ebert
|
r23622 | resolve to local, m must contain hash of last change (local parent) | ||
Matt Mackall
|
r11905 | |||
Christian Ebert
|
r23621 | $ hg resolve -t internal:local -a | ||
Pierre-Yves David
|
r21947 | (no more unresolved files) | ||
Matt Mackall
|
r11905 | $ hg commit -m localresolve | ||
$ cat m | ||||
Christian Ebert
|
r23622 | $Id: m 88a80c8d172e Thu, 01 Jan 1970 00:00:00 +0000 test $ | ||
Matt Mackall
|
r11905 | bar | ||
Test restricted mode with transplant -b | ||||
$ hg update 6 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg branch foo | ||||
marked working directory as branch foo | ||||
Matt Mackall
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
Matt Mackall
|
r11905 | $ mv a a.bak | ||
$ echo foobranch > a | ||||
$ cat a.bak >> a | ||||
$ rm a.bak | ||||
$ hg commit -m 9foobranch | ||||
$ hg update default | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -y transplant -b foo tip | ||||
applying 4aa30d025d50 | ||||
Peter Arrenbrecht
|
r14162 | 4aa30d025d50 transplanted to e00abbf63521 | ||
Matt Mackall
|
r11905 | |||
Expansion in changeset but not in file | ||||
$ hg tip -p | ||||
Peter Arrenbrecht
|
r14162 | changeset: 11:e00abbf63521 | ||
Matt Mackall
|
r11905 | tag: tip | ||
Peter Arrenbrecht
|
r14162 | parent: 9:800511b3a22d | ||
Matt Mackall
|
r11905 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 9foobranch | ||||
Peter Arrenbrecht
|
r14162 | diff -r 800511b3a22d -r e00abbf63521 a | ||
Matt Mackall
|
r11905 | --- a/a Thu Jan 01 00:00:00 1970 +0000 | ||
+++ b/a Thu Jan 01 00:00:00 1970 +0000 | ||||
@@ -1,3 +1,4 @@ | ||||
+foobranch | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$ head -n 2 a | ||||
foobranch | ||||
Peter Arrenbrecht
|
r14162 | expand $Id: a e00abbf63521 Thu, 01 Jan 1970 00:00:00 +0000 test $ | ||
Matt Mackall
|
r11905 | |||
Christian Ebert
|
r12495 | Turn off expansion | ||
Matt Mackall
|
r11905 | |||
$ hg -q rollback | ||||
$ hg -q update -C | ||||
kwshrink with unknown file u | ||||
$ cp a u | ||||
$ hg --verbose kwshrink | ||||
overwriting a shrinking keywords | ||||
overwriting m shrinking keywords | ||||
overwriting x/a shrinking keywords | ||||
Keywords shrunk in working directory, but not yet disabled | ||||
- cat shows unexpanded keywords | ||||
- hg cat shows expanded keywords | ||||
$ cat a b | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
ignore $Id$ | ||||
$ hg cat sym a b && echo | ||||
expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo: User Name <user@example.com>: firstline $ | ||||
ignore $Id$ | ||||
Mads Kiilerich
|
r12640 | a | ||
Matt Mackall
|
r11905 | |||
Now disable keyword expansion | ||||
FUJIWARA Katsunori
|
r21703 | $ cp $HGRCPATH $HGRCPATH.backup | ||
Matt Mackall
|
r11905 | $ rm "$HGRCPATH" | ||
$ cat a b | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
ignore $Id$ | ||||
$ hg cat sym a b && echo | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
ignore $Id$ | ||||
Mads Kiilerich
|
r12640 | a | ||
Mads Kiilerich
|
r16913 | |||
FUJIWARA Katsunori
|
r21703 | enable keyword expansion again | ||
$ cat $HGRCPATH.backup >> $HGRCPATH | ||||
Test restricted mode with unshelve | ||||
$ cat <<EOF >> $HGRCPATH | ||||
> [extensions] | ||||
> shelve = | ||||
> EOF | ||||
$ echo xxxx >> a | ||||
$ hg diff | ||||
diff -r 800511b3a22d a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a * (glob) | ||||
@@ -2,3 +2,4 @@ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
+xxxx | ||||
$ hg shelve -q --name tmp | ||||
$ hg shelve --list --patch | ||||
Siddharth Agarwal
|
r27092 | tmp (*)* changes to: localresolve (glob) | ||
FUJIWARA Katsunori
|
r21703 | |||
diff --git a/a b/a | ||||
--- a/a | ||||
+++ b/a | ||||
@@ -2,3 +2,4 @@ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
+xxxx | ||||
$ hg update -q -C 10 | ||||
$ hg unshelve -q tmp | ||||
$ hg diff | ||||
diff -r 4aa30d025d50 a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a * (glob) | ||||
@@ -3,3 +3,4 @@ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
+xxxx | ||||
FUJIWARA Katsunori
|
r21704 | Test restricted mode with rebase | ||
$ cat <<EOF >> $HGRCPATH | ||||
> [extensions] | ||||
> rebase = | ||||
> EOF | ||||
$ hg update -q -C 9 | ||||
$ echo xxxx >> a | ||||
$ hg commit -m '#11' | ||||
$ hg diff -c 11 | ||||
diff -r 800511b3a22d -r b07670694489 a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a Thu Jan 01 00:00:00 1970 +0000 | ||||
@@ -2,3 +2,4 @@ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
+xxxx | ||||
$ hg diff -c 10 | ||||
diff -r 27d48ee14f67 -r 4aa30d025d50 a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a Thu Jan 01 00:00:00 1970 +0000 | ||||
@@ -1,3 +1,4 @@ | ||||
+foobranch | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$ hg rebase -q -s 10 -d 11 --keep | ||||
$ hg diff -r 9 -r 12 a | ||||
diff -r 800511b3a22d -r 1939b927726c a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a Thu Jan 01 00:00:00 1970 +0000 | ||||
@@ -1,4 +1,6 @@ | ||||
+foobranch | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
+xxxx | ||||
FUJIWARA Katsunori
|
r21705 | Test restricted mode with graft | ||
$ hg graft -q 10 | ||||
$ hg diff -r 9 -r 13 a | ||||
diff -r 800511b3a22d -r 01a68de1003a a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a Thu Jan 01 00:00:00 1970 +0000 | ||||
@@ -1,4 +1,6 @@ | ||||
+foobranch | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
+xxxx | ||||
FUJIWARA Katsunori
|
r21706 | Test restricted mode with backout | ||
Ruslan Sayfutdinov
|
r27890 | $ hg backout -q 11 --no-commit | ||
FUJIWARA Katsunori
|
r21706 | $ hg diff a | ||
diff -r 01a68de1003a a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a * (glob) | ||||
@@ -3,4 +3,3 @@ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
-xxxx | ||||
FUJIWARA Katsunori
|
r21707 | Test restricted mode with histedit | ||
$ cat <<EOF >> $HGRCPATH | ||||
> [extensions] | ||||
> histedit = | ||||
> EOF | ||||
$ hg commit -m 'backout #11' | ||||
$ hg histedit -q --command - 13 <<EOF | ||||
> pick 49f5f2d940c3 14 backout #11 | ||||
> pick 01a68de1003a 13 9foobranch | ||||
> EOF | ||||
FUJIWARA Katsunori
|
r21708 | Test restricted mode with fetch (with merge) | ||
$ cat <<EOF >> $HGRCPATH | ||||
> [extensions] | ||||
> fetch = | ||||
> EOF | ||||
$ hg clone -q -r 9 . ../fetch-merge | ||||
$ cd ../fetch-merge | ||||
$ hg -R ../Test export 10 | hg import -q - | ||||
$ hg fetch -q -r 11 | ||||
$ hg diff -r 9 a | ||||
diff -r 800511b3a22d a | ||||
--- a/a Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/a * (glob) | ||||
@@ -1,4 +1,6 @@ | ||||
+foobranch | ||||
expand $Id$ | ||||
do not process $Id: | ||||
xxx $ | ||||
$Xinfo$ | ||||
+xxxx | ||||
FUJIWARA Katsunori
|
r33063 | Test that patch.diff(), which is implied by "hg diff" or so, doesn't | ||
suppress expanding keywords at subsequent commands | ||||
#if windows | ||||
$ PYTHONPATH="$TESTDIR/../contrib;$PYTHONPATH" | ||||
#else | ||||
$ PYTHONPATH="$TESTDIR/../contrib:$PYTHONPATH" | ||||
#endif | ||||
$ export PYTHONPATH | ||||
$ grep -v '^promptecho ' < $HGRCPATH >> $HGRCPATH.new | ||||
$ mv $HGRCPATH.new $HGRCPATH | ||||
>>> from __future__ import print_function | ||||
>>> from hgclient import readchannel, runcommand, check | ||||
>>> @check | ||||
... def check(server): | ||||
... # hello block | ||||
... readchannel(server) | ||||
... | ||||
... runcommand(server, ['cat', 'm']) | ||||
... runcommand(server, ['diff', '-c', '.', 'm']) | ||||
... runcommand(server, ['cat', 'm']) | ||||
*** runcommand cat m | ||||
$Id: m 800511b3a22d Thu, 01 Jan 1970 00:00:00 +0000 test $ | ||||
bar | ||||
*** runcommand diff -c . m | ||||
*** runcommand cat m | ||||
$Id: m 800511b3a22d Thu, 01 Jan 1970 00:00:00 +0000 test $ | ||||
bar | ||||
Mads Kiilerich
|
r16913 | $ cd .. | ||
FUJIWARA Katsunori
|
r33066 | |||
#if serve | ||||
Test that keywords are expanded only in repositories, which enable | ||||
keyword extension, even if multiple repositories are served in a | ||||
process | ||||
$ cat >> fetch-merge/.hg/hgrc <<EOF | ||||
> [extensions] | ||||
> keyword = ! | ||||
> EOF | ||||
$ cat > paths.conf <<EOF | ||||
> [paths] | ||||
> enabled=Test | ||||
> disabled=fetch-merge | ||||
> EOF | ||||
$ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E error.log --webdir-conf paths.conf | ||||
$ cat hg.pid >> $DAEMON_PIDS | ||||
$ get-with-headers.py localhost:$HGPORT 'enabled/file/tip/m/?style=raw' | ||||
200 Script output follows | ||||
$Id: m 800511b3a22d Thu, 01 Jan 1970 00:00:00 +0000 test $ | ||||
bar | ||||
$ get-with-headers.py localhost:$HGPORT 'disabled/file/tip/m/?style=raw' | ||||
200 Script output follows | ||||
$Id$ | ||||
bar | ||||
(check expansion again, for safety) | ||||
$ get-with-headers.py localhost:$HGPORT 'enabled/file/tip/m/?style=raw' | ||||
200 Script output follows | ||||
$Id: m 800511b3a22d Thu, 01 Jan 1970 00:00:00 +0000 test $ | ||||
bar | ||||
$ killdaemons.py | ||||
#endif | ||||