##// END OF EJS Templates
hgweb: support constructing URLs from an alternate base URL...
hgweb: support constructing URLs from an alternate base URL The web.baseurl config option allows server operators to define a custom URL for hosted content. The way it works today is that hgwebdir parses this config option into URL components then updates the appropriate WSGI environment variables so the request "lies" about its details. For example, SERVER_NAME is updated to reflect the alternate base URL's hostname. The WSGI environment should not be modified because WSGI applications may want to know the original request details (for debugging, etc). This commit teaches our request parser about the existence of an alternate base URL. If defined, the advertised URL and other self-reflected paths will take the alternate base URL into account. The hgweb WSGI application didn't use web.baseurl. But hgwebdir did. We update hgwebdir to alter the environment parsing accordingly. The old code around environment manipulation has been removed. With this change, parserequestfromenv() has grown to a bit unwieldy. Now that practically everyone is using it, it is obvious that there is some unused features that can be trimmed. So look for this in follow-up commits. Differential Revision: https://phab.mercurial-scm.org/D2822

File last commit:

r35722:41ef02ba default
r36916:219b2335 default
Show More
test-keyword.t
1478 lines | 31.7 KiB | text/troff | Tads3Lexer
Christian Ebert
keyword: avoid traceback when kwdemo is run outside a repo...
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
tests: drop big sed from test-keyword.t
r11905 $ cat <<EOF >> $HGRCPATH
> [extensions]
> keyword =
> mq =
> notify =
> record =
> transplant =
> [ui]
> interactive = true
> EOF
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015 hide outer repo
$ hg init
Matt Mackall
tests: drop big sed from test-keyword.t
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
keyword: inform user about current keywordset in kwdemo...
r13298 [keywordset]
svn = False
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: improve regexes in unified tests
r12372 $Author: test $
Brodie Rao
tests: add glob matching for unified tests...
r12376 $Date: ????/??/?? ??:??:?? $ (glob)
$Header: */demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob)
$Id: demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob)
Brodie Rao
tests: improve regexes in unified tests
r12372 $RCSFile: demo.txt,v $
$RCSfile: demo.txt,v $
Brodie Rao
tests: add glob matching for unified tests...
r12376 $Revision: ???????????? $ (glob)
$Source: */demo.txt,v $ (glob)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
$ hg --quiet kwdemo "Branch = {branches}"
[extensions]
keyword =
[keyword]
demo.txt =
Christian Ebert
keyword: inform user about current keywordset in kwdemo...
r13298 [keywordset]
svn = False
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 [keywordmaps]
Branch = {branches}
$Branch: demobranch $
FUJIWARA Katsunori
keyword: use templatefilter to mark a function as template filter...
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
tests: drop big sed from test-keyword.t
r11905 $ cat <<EOF >> $HGRCPATH
> [keyword]
> ** =
> b = ignore
Christian Ebert
keyword: support copy and rename...
r12626 > i = ignore
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 > [hooks]
Christian Ebert
test-keyword: remove remaining sed calls
r12629 > EOF
$ cp $HGRCPATH $HGRCPATH.nohooks
> cat <<EOF >> $HGRCPATH
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: move test bundles in a bundles/ subdirectory
r14116 $ hg pull -u "$TESTDIR"/bundles/test-keyword.hg
Brodie Rao
tests: add glob matching for unified tests...
r12376 pulling from *test-keyword.hg (glob)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets a2392c293916
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 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
tests: add exit codes to unified tests
r12316 [255]
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ hg status
A a
A b
Commit with several checks
$ hg --debug commit -mabsym -u 'User Name <user@example.com>'
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 a
b
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 overwriting a expanding keywords
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
FUJIWARA Katsunori
commands: make commit acquire locks before processing (issue4368)...
r27192 committed changeset 1:ef63ca68695bc9495032c6fda1350c71e6d256e9
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: remove redundant globs...
r12640 a
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
$ diff a hooktest
Christian Ebert
test-keyword: remove remaining sed calls
r12629 $ cp $HGRCPATH.nohooks $HGRCPATH
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ rm hooktest
Christian Ebert
keyword: update filectx.cmp monkeypatch to handle '\1\n' at start of file...
r15871 hg status of kw-ignored binary file starting with '\1\n'
Jim Hague
tests: tighten checks for octal escapes in shell printf....
r16098 >>> open("i", "wb").write("\1\nfoo")
Christian Ebert
keyword: update filectx.cmp monkeypatch to handle '\1\n' at start of file...
r15871 $ hg -q commit -Am metasep i
$ hg status
Jim Hague
tests: tighten checks for octal escapes in shell printf....
r16098 >>> open("i", "wb").write("\1\nbar")
Christian Ebert
keyword: update filectx.cmp monkeypatch to handle '\1\n' at start of file...
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
keyword: update test file syntax
r23621 $ hg -q strip --no-backup 2
Christian Ebert
keyword: update filectx.cmp monkeypatch to handle '\1\n' at start of file...
r15871
Test hook execution
Matt Mackall
tests: drop big sed from test-keyword.t
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
test-keyword: ignore subject in notify hook mails...
r12648 > maxsubject = 15
Matt Mackall
tests: drop big sed from test-keyword.t
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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets a2392c293916:ef63ca68695b
Boris Feld
pull: hold wlock for the full operation when --update is used...
r35624 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Brodie Rao
tests: add glob matching for unified tests...
r12376 Date: * (glob)
Mads Kiilerich
test-keyword: ignore subject in notify hook mails...
r12648 Subject: changeset in...
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 From: mercurial
X-Hg-Notification: changeset a2392c293916
Brodie Rao
tests: add glob matching for unified tests...
r12376 Message-Id: <hg.a2392c293916*> (glob)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 To: Test
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 changeset a2392c293916 in $TESTTMP/Test
Martin Geisler
tests: use $TESTTMP more and use (glob) less...
r13572 details: $TESTTMP/Test?cmd=changeset;node=a2392c293916
Matt Mackall
tests: drop big sed from test-keyword.t
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
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Brodie Rao
tests: add glob matching for unified tests...
r12376 Date:* (glob)
Mads Kiilerich
test-keyword: ignore subject in notify hook mails...
r12648 Subject: changeset in...
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 From: User Name <user@example.com>
X-Hg-Notification: changeset ef63ca68695b
Brodie Rao
tests: add glob matching for unified tests...
r12376 Message-Id: <hg.ef63ca68695b*> (glob)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 To: Test
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 changeset ef63ca68695b in $TESTTMP/Test
Mads Kiilerich
tests: remove redundant globs...
r12640 details: $TESTTMP/Test?cmd=changeset;node=ef63ca68695b
Matt Mackall
tests: drop big sed from test-keyword.t
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$
Christian Ebert
test-keyword: remove remaining sed calls
r12629 $ cp $HGRCPATH.nohooks $HGRCPATH
Matt Mackall
tests: drop big sed from test-keyword.t
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
keyword: preserve file mode when overwriting
r15070 Check whether expansion is filewise and file mode is preserved
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
$ echo '$Id$' > c
$ echo 'tests for different changenodes' >> c
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 #if unix-permissions
Christian Ebert
keyword: preserve file mode when overwriting
r15070 $ chmod 600 c
$ ls -l c | cut -b 1-10
-rw-------
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 #endif
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
commit file c
$ hg commit -A -mcndiff -d '1 0' -u 'User Name <user@example.com>'
adding c
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 #if unix-permissions
Christian Ebert
keyword: preserve file mode when overwriting
r15070 $ ls -l c | cut -b 1-10
-rw-------
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 #endif
Matt Mackall
tests: drop big sed from test-keyword.t
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
keyword: fix weeding of expansion candidates when recording...
r12684 record
$ echo '$Id$' > r
$ hg add r
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 record chunk
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 >>> lines = open('a', 'rb').readlines()
Christian Ebert
test-keyword: use inline doctest syntax
r15556 >>> lines.insert(1, 'foo\n')
>>> lines.append('bar\n')
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 >>> open('a', 'wb').writelines(lines)
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 $ hg record -d '10 1' -m rectest a<<EOF
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 > y
> y
> n
> EOF
diff --git a/a b/a
2 hunks, 2 lines changed
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 examine changes to 'a'? [Ynesfdaq?] y
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 @@ -1,3 +1,4 @@
expand $Id$
+foo
do not process $Id:
xxx $
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 record change 1/2 to 'a'? [Ynesfdaq?] y
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 @@ -2,2 +3,3 @@
do not process $Id:
xxx $
+bar
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 record change 2/2 to 'a'? [Ynesfdaq?] n
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
$ hg identify
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 5f5eb23505c3+ tip
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ hg status
M a
Christian Ebert
keyword: fix weeding of expansion candidates when recording...
r12684 A r
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Cat modified file a
$ cat a
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 expand $Id: a,v 5f5eb23505c3 1970/01/01 00:00:10 test $
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 foo
do not process $Id:
xxx $
bar
Diff remaining chunk
Christian Ebert
keyword: fix weeding of expansion candidates when recording...
r12684 $ hg diff a
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 diff -r 5f5eb23505c3 a
--- a/a Thu Jan 01 00:00:09 1970 -0000
Brodie Rao
tests: add glob matching for unified tests...
r12376 +++ b/a * (glob)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 @@ -2,3 +2,4 @@
foo
do not process $Id:
xxx $
+bar
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 2 (undo commit)
working directory now based on revision 2
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Record all chunks in file a
$ echo foo > msg
- do not use "hg record -m" here!
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 $ hg record -l msg -d '11 1' a<<EOF
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 > y
> y
> y
> EOF
diff --git a/a b/a
2 hunks, 2 lines changed
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 examine changes to 'a'? [Ynesfdaq?] y
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 @@ -1,3 +1,4 @@
expand $Id$
+foo
do not process $Id:
xxx $
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 record change 1/2 to 'a'? [Ynesfdaq?] y
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 @@ -2,2 +3,3 @@
do not process $Id:
xxx $
+bar
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 record change 2/2 to 'a'? [Ynesfdaq?] y
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
File a should be clean
$ hg status -A a
C a
Christian Ebert
keyword: support rollback by restoring expansion to previous values...
r12498 rollback and revert expansion
$ cat a
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 expand $Id: a,v 78e0a02d76aa 1970/01/01 00:00:11 test $
Christian Ebert
keyword: support rollback by restoring expansion to previous values...
r12498 foo
do not process $Id:
xxx $
bar
$ hg --verbose rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 2 (undo commit)
working directory now based on revision 2
Christian Ebert
keyword: support rollback by restoring expansion to previous values...
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
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 2 (undo commit)
working directory now based on revision 2
Christian Ebert
keyword: support rollback by restoring expansion to previous values...
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
keyword: fix weeding of expansion candidates when recording...
r12684 record added file alone
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 $ hg -v record -l msg -d '12 2' r<<EOF
Christian Ebert
keyword: specific regular expressions depending on read mode...
r12630 > y
Laurent Charignon
record: allow editing new files (issue4304)...
r24235 > y
Christian Ebert
keyword: specific regular expressions depending on read mode...
r12630 > EOF
diff --git a/r b/r
new file mode 100644
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 examine changes to 'r'? [Ynesfdaq?] y
Laurent Charignon
record: edit patch of newly added files (issue4304)...
r24845 @@ -0,0 +1,1 @@
+$Id$
record this change to 'r'? [Ynesfdaq?] y
resolving manifests
patching file r
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Christian Ebert
keyword: specific regular expressions depending on read mode...
r12630 r
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 committed changeset 3:82a2f715724d
Christian Ebert
keyword: specific regular expressions depending on read mode...
r12630 overwriting r expanding keywords
Christian Ebert
keyword: make status test after record and kwexpand/kwshrink reliable...
r15075 $ hg status r
Christian Ebert
keyword: specific regular expressions depending on read mode...
r12630 $ hg --verbose rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 2 (undo commit)
working directory now based on revision 2
Christian Ebert
keyword: specific regular expressions depending on read mode...
r12630 overwriting r shrinking keywords
$ hg forget r
$ rm msg r
Christian Ebert
keyword: fix weeding of expansion candidates when recording...
r12684 $ hg update -C
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Christian Ebert
keyword: specific regular expressions depending on read mode...
r12630
Christian Ebert
keyword: fix regressions introduced in d87f3ff904ba...
r12844 record added keyword ignored file
$ echo '$Id$' > i
$ hg add i
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 $ hg --verbose record -d '13 1' -m recignored<<EOF
Christian Ebert
keyword: fix regressions introduced in d87f3ff904ba...
r12844 > y
Laurent Charignon
record: allow editing new files (issue4304)...
r24235 > y
Christian Ebert
keyword: fix regressions introduced in d87f3ff904ba...
r12844 > EOF
diff --git a/i b/i
new file mode 100644
Mads Kiilerich
ui: show prompt choice if input is not a tty but is forced to be interactive...
r22589 examine changes to 'i'? [Ynesfdaq?] y
Laurent Charignon
record: edit patch of newly added files (issue4304)...
r24845 @@ -0,0 +1,1 @@
+$Id$
record this change to 'i'? [Ynesfdaq?] y
resolving manifests
patching file i
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Christian Ebert
keyword: fix regressions introduced in d87f3ff904ba...
r12844 i
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 committed changeset 3:9f40ceb5a072
Christian Ebert
keyword: fix regressions introduced in d87f3ff904ba...
r12844 $ cat i
$Id$
$ hg -q rollback
$ hg forget i
$ rm i
Christian Ebert
keyword: support commit --amend (issue3471)...
r16810 amend
$ echo amend >> a
$ echo amend >> b
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 $ hg -q commit -d '14 1' -m 'prepare amend'
Christian Ebert
keyword: support commit --amend (issue3471)...
r16810
Mads Kiilerich
tests: don't use dates before epoch in test-keyword.t...
r17098 $ hg --debug commit --amend -d '15 1' -m 'amend without changes' | grep keywords
Christian Ebert
keyword: support commit --amend (issue3471)...
r16810 overwriting a expanding keywords
$ hg -q id
Pierre-Yves David
amend: add noise in extra to avoid creating obsolescence cycle (issue3664)...
r17811 67d8c481a6be
Christian Ebert
keyword: support commit --amend (issue3471)...
r16810 $ head -1 a
Pierre-Yves David
amend: add noise in extra to avoid creating obsolescence cycle (issue3664)...
r17811 expand $Id: a,v 67d8c481a6be 1970/01/01 00:00:15 test $
Christian Ebert
keyword: support commit --amend (issue3471)...
r16810
Christian Ebert
keyword: update test file syntax
r23621 $ hg -q strip --no-backup tip
Christian Ebert
keyword: support commit --amend (issue3471)...
r16810
Matt Mackall
tests: drop big sed from test-keyword.t
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
export: show 'Date' header in a format that also is readable for humans...
r18648 # Thu Jan 01 00:00:01 1970 +0000
Matt Mackall
tests: drop big sed from test-keyword.t
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
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 c
c: copy a:0045e12f6c5791aac80ca6cbfd97709a88307292
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 overwriting c expanding keywords
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Matt Mackall
tests: drop big sed from test-keyword.t
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
keyword: support copy and rename...
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
keyword: copy: when copied source is a symlink, follow it...
r13069 cp symlink file; hg cp -A symlink file (part1)
- copied symlink points to kwfile: overwrite
Christian Ebert
keyword: support copy and rename...
r12626
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 #if symlink
Christian Ebert
keyword: support copy and rename...
r12626 $ cp sym i
$ ls -l i
Mads Kiilerich
test-keyword: fix test glob to ACL/SELinux flag
r12647 -rw-r--r--* (glob)
Christian Ebert
keyword: support copy and rename...
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
test-keyword: adapt for Windows
r17099 #endif
Christian Ebert
keyword: support copy and rename...
r12626
Matt Mackall
tests: drop big sed from test-keyword.t
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
test-keyword: use regular expressions instead of grepping
r12102 $ hg diff --rev 1
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 diff -r ef63ca68695b c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
Brodie Rao
tests: add glob matching for unified tests...
r12376 +++ b/c * (glob)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 @@ -0,0 +1,3 @@
+expand $Id$
+do not process $Id:
+xxx $
Status after rollback:
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 1 (undo commit)
working directory now based on revision 1
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ hg status
A c
$ hg update --clean
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: convert some 'hghave symlink' to #if...
r16908 #if symlink
Christian Ebert
keyword: copy: when copied source is a symlink, follow it...
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
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 1 (undo commit)
working directory now based on revision 1
Christian Ebert
keyword: copy: when copied source is a symlink, follow it...
r13069 $ hg update --clean
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm i symignored
Mads Kiilerich
tests: convert some 'hghave symlink' to #if...
r16908 #endif
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 Custom keywordmaps as argument to kwdemo
$ hg --quiet kwdemo "Xinfo = {author}: {desc}"
[extensions]
keyword =
[keyword]
** =
b = ignore
demo.txt =
Christian Ebert
keyword: support copy and rename...
r12626 i = ignore
Christian Ebert
keyword: inform user about current keywordset in kwdemo...
r13298 [keywordset]
svn = False
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: remove redundant globs...
r12640 a
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Mads Kiilerich
fix trivial spelling errors
r17424 Write custom keyword and prepare multi-line commit message
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
$ echo '$Xinfo$' >> a
$ cat <<EOF >> log
> firstline
> secondline
> EOF
Interrupted commit should not change state
$ hg commit
abort: empty commit message
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ hg status
M a
? c
? log
Mads Kiilerich
fix trivial spelling errors
r17424 Commit with multi-line message and custom expansion
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
$ hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>'
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 a
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 overwriting a expanding keywords
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: remove redundant globs...
r12640 a
Matt Mackall
tests: drop big sed from test-keyword.t
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
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
committing manifest
committing changelog
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 committed changeset 3:d14c712653769de926994cf7fbb06c8fbd68f012
$ hg status
? c
Rollback, revert, and check expansion
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 2 (undo commit)
working directory now based on revision 2
Matt Mackall
tests: drop big sed from test-keyword.t
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
spelling: destination
r17485 Expansion in destination with global configuration
Matt Mackall
tests: drop big sed from test-keyword.t
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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets a2392c293916:ef63ca68695b
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 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
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/Test
Matt Mackall
tests: drop big sed from test-keyword.t
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
test-keyword: use inline doctest syntax
r15556 >>> import re
>>> text = re.sub(r'(Id.*)', r'\1 rejecttest', open('a').read())
>>> open('a', 'wb').write(text)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>'
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 a
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 overwriting a expanding keywords
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Matt Mackall
tests: drop big sed from test-keyword.t
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
import: wrap a transaction around the whole command...
r15198 repository tip rolled back to revision 2 (undo import)
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 working directory now based on revision 2
Matt Mackall
tests: drop big sed from test-keyword.t
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
keyword: fix regressions introduced in d87f3ff904ba...
r12844 $ hg --verbose kwshrink a
overwriting a shrinking keywords
Christian Ebert
keyword: make status test after record and kwexpand/kwshrink reliable...
r15075 - sleep required for dirstate.normal() check
$ sleep 1
Christian Ebert
keyword: fix regressions introduced in d87f3ff904ba...
r12844 $ hg status a
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ hg --verbose kwexpand a
overwriting a expanding keywords
Christian Ebert
keyword: fix regressions introduced in d87f3ff904ba...
r12844 $ hg status a
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
kwexpand x/a should abort
$ hg --verbose kwexpand x/a
abort: outstanding uncommitted changes
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ cd x
$ hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>'
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 x/a
x/a: copy a:779c764182ce5d43e2b1eb66ce06d7b47bfe342e
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 overwriting x/a expanding keywords
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: add glob matching for unified tests...
r12376 nonexistent:* (glob)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 #if serve
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 hg serve
- expand with hgweb file
FUJIWARA Katsunori
keyword: make comparison webcommand suppress keyword expansion...
r33065 - no expansion with hgweb annotate/changeset/filediff/comparison
FUJIWARA Katsunori
keyword: restore kwtemplater.match at the end of wrapped webcommands...
r33064 - expand with hgweb file, again
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'file/tip/a/?style=raw'
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'annotate/tip/a/?style=raw'
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 200 Script output follows
user@1: expand $Id$
user@1: do not process $Id:
user@1: xxx $
user@2: $Xinfo$
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'rev/tip/?style=raw'
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'diff/bb948857c743/a?style=raw'
Matt Mackall
tests: drop big sed from test-keyword.t
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
keyword: make comparison webcommand suppress keyword expansion...
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
keyword: restore kwtemplater.match at the end of wrapped webcommands...
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
keyword: add test for keyword expansion at serving multiple repositories...
r33066 $ killdaemons.py
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ cat errors.log
Adrian Buehlmann
test-keyword: adapt for Windows
r17099 #endif
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Prepare merge and resolve tests
$ echo '$Id$' > m
$ hg add m
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg commit -m 4kw
Matt Mackall
tests: drop big sed from test-keyword.t
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
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging m! (edit, then use 'hg resolve --mark')
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Pulkit Goyal
merge: add `--abort` flag which can abort the merge...
r35722 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ cat m
$Id$
Simon Farnsworth
merge: add conflict labels to merge command...
r30062 <<<<<<< working copy: 88a80c8d172e - test: 8bar
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 bar
=======
foo
Kostia Balytskyi
conflicts: make spacing consistent in conflict markers...
r30460 >>>>>>> merge rev: 85d2d2d732a5 - test: simplemerge
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Christian Ebert
keyword: handle resolve to either parent...
r23622 resolve to local, m must contain hash of last change (local parent)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Christian Ebert
keyword: update test file syntax
r23621 $ hg resolve -t internal:local -a
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 $ hg commit -m localresolve
$ cat m
Christian Ebert
keyword: handle resolve to either parent...
r23622 $Id: m 88a80c8d172e Thu, 01 Jan 1970 00:00:00 +0000 test $
Matt Mackall
tests: drop big sed from test-keyword.t
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
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Matt Mackall
tests: drop big sed from test-keyword.t
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
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 4aa30d025d50 transplanted to e00abbf63521
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Expansion in changeset but not in file
$ hg tip -p
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 changeset: 11:e00abbf63521
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 tag: tip
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 parent: 9:800511b3a22d
Matt Mackall
tests: drop big sed from test-keyword.t
r11905 user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 9foobranch
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 diff -r 800511b3a22d -r e00abbf63521 a
Matt Mackall
tests: drop big sed from test-keyword.t
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
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 expand $Id: a e00abbf63521 Thu, 01 Jan 1970 00:00:00 +0000 test $
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Christian Ebert
test-keyword: fix typo, rephrase
r12495 Turn off expansion
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: remove redundant globs...
r12640 a
Matt Mackall
tests: drop big sed from test-keyword.t
r11905
Now disable keyword expansion
FUJIWARA Katsunori
keyword: suppress keyword expansion while 'hg unshelve' for internal merge...
r21703 $ cp $HGRCPATH $HGRCPATH.backup
Matt Mackall
tests: drop big sed from test-keyword.t
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
tests: remove redundant globs...
r12640 a
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
FUJIWARA Katsunori
keyword: suppress keyword expansion while 'hg unshelve' for internal merge...
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
shelve: use colon instead of quotes in 'changes to' description...
r27092 tmp (*)* changes to: localresolve (glob)
FUJIWARA Katsunori
keyword: suppress keyword expansion while 'hg unshelve' for internal merge...
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
keyword: suppress keyword expansion while 'hg rebase' for internal merge...
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
keyword: suppress keyword expansion while 'hg graft' for internal merge...
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
keyword: suppress keyword expansion while 'hg backout' for internal merge...
r21706 Test restricted mode with backout
Ruslan Sayfutdinov
backout: commit changeset by default (BC)...
r27890 $ hg backout -q 11 --no-commit
FUJIWARA Katsunori
keyword: suppress keyword expansion while 'hg backout' for internal merge...
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
keyword: suppress keyword expansion while 'hg histedit' for internal merge...
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
keyword: suppress keyword expansion while 'hg fetch' for internal merge...
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
keyword: restore kwtemplater.restrict at the end of wrapped patch.diff...
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
Augie Fackler
tests: update test-keyword to pass our import checker
r33963 >>> from hgclient import check, readchannel, runcommand
FUJIWARA Katsunori
keyword: restore kwtemplater.restrict at the end of wrapped patch.diff...
r33063 >>> @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
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
FUJIWARA Katsunori
keyword: add test for keyword expansion at serving multiple repositories...
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