Extend test for archive mode kwmap-templates
authorChristian Ebert <blacktrash@gmx.net>
Sat, 24 Feb 2007 11:56:08 +0100
branchkwmap-templates
changeset 151 5f3856a6ce56
parent 150 ba5cb61db7a0
child 152 7ca8e7661609
Extend test for archive mode
tests/test-keyword
tests/test-keyword.out
--- a/tests/test-keyword	Sat Feb 24 11:19:34 2007 +0100
+++ b/tests/test-keyword	Sat Feb 24 11:56:08 2007 +0100
@@ -6,6 +6,7 @@
 [keyword]
 a =
 b = ignore
+c = archive
 EOF
 
 echo % help
@@ -15,27 +16,36 @@
 cd Test
 echo 'expand $Id$' > a
 echo 'ignore $Id$' > b
+echo 'archive $Id$' > c
 ln -s a sym
 echo % cat
-cat sym a b
+cat a b c sym
 
 echo % default keyword expansion
 echo % commit
-hg --debug commit -A -mabsym -d '0 0' -u 'User Name <user@example.com>'
+hg --debug commit -A -mabcsym -d '0 0' -u 'User Name <user@example.com>'
 echo % status
 hg status
 
 echo % cat
-cat sym a b
+cat a b c sym
 echo % hg cat
-hg cat sym a b
+hg cat a b c sym
 
 echo
-rm sym a b
+rm a b c sym
 echo % update
 hg update
 echo % cat
-cat sym a b
+cat a b c sym
+
+echo % archive
+hg archive ../Archive
+cd ../Archive
+echo % cat
+cat a b c sym
+echo
+cd -
 
 echo % custom keyword expansion
 cat <<EOF >>$HGRCPATH
@@ -45,9 +55,9 @@
 EOF
 
 echo % cat
-cat sym a b
+cat a b c sym
 echo % hg cat
-hg cat sym a b
+hg cat a b c sym
 
 echo
 echo '$Xinfo$' >> a
@@ -63,9 +73,9 @@
 hg status
 
 echo % cat
-cat sym a b
+cat a b c sym
 echo % hg cat
-hg cat sym a b
+hg cat a b c sym
 
 echo
 cd ..
@@ -83,14 +93,14 @@
 
 cd ../Test
 echo % cat
-cat sym a b
+cat a b c sym
 echo % hg cat
-hg cat sym a b
+hg cat a b c sym
 
 echo
 echo % update
-rm sym a b
+rm a b c sym
 hg update
 
 echo % cat
-cat sym a b
+cat a b c sym
--- a/tests/test-keyword.out	Sat Feb 24 11:19:34 2007 +0100
+++ b/tests/test-keyword.out	Sat Feb 24 11:56:08 2007 +0100
@@ -8,8 +8,10 @@
 Mercurial internally. The mechanism can be regarded as a convenience
 for the current user and may be turned off anytime.
 
-Substitution takes place on every commit and update of the working
-repository.
+The exansion works in 2 modes:
+    1) working mode: substitution takes place on every commit and
+       update of the working repository.
+    2) archive mode: substitution is only triggered by "hg archive".
 
 Caveat: "hg import" might fail if the patches were exported from a
 repo with a different/no keyword setup, whereas "hg unbundle" is
@@ -24,6 +26,10 @@
      # files matching patterns with value 'ignore' are ignored
      **.py =          ## expand keywords in all python files
      x* = ignore      ## but ignore files matching "x*"
+     ** = archive     ## keywords in all textfiles are expanded
+                      ## when creating a distribution
+     y* = noarchive   ## keywords in files matching "y*" are not expanded
+                      ## on archive creation
      ...
      [keywordmaps]
      # custom hg template maps _replace_ the CVS-like default ones
@@ -46,39 +52,53 @@
 no commands defined
 % cat
 expand $Id$
+ignore $Id$
+archive $Id$
 expand $Id$
-ignore $Id$
 % default keyword expansion
 % commit
 adding a
 adding b
+adding c
 adding sym
 a
 b
+c
 sym
 overwriting a expanding keywords
 % status
 % cat
-expand $Id: a,v 126ec311add6 1970/01/01 00:00:00 user $
-expand $Id: a,v 126ec311add6 1970/01/01 00:00:00 user $
+expand $Id: a,v 99e97605039e 1970/01/01 00:00:00 user $
 ignore $Id$
+archive $Id$
+expand $Id: a,v 99e97605039e 1970/01/01 00:00:00 user $
 % hg cat
-expand $Id: a,v 126ec311add6 1970/01/01 00:00:00 user $
+expand $Id: a,v 99e97605039e 1970/01/01 00:00:00 user $
+archive $Id$
 ignore $Id$
 a
 % update
-3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+4 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % cat
-expand $Id: a,v 126ec311add6 1970/01/01 00:00:00 user $
-expand $Id: a,v 126ec311add6 1970/01/01 00:00:00 user $
+expand $Id: a,v 99e97605039e 1970/01/01 00:00:00 user $
 ignore $Id$
+archive $Id$
+expand $Id: a,v 99e97605039e 1970/01/01 00:00:00 user $
+% archive
+% cat
+expand $Id$
+ignore $Id$
+archive $Id: c,v 99e97605039e 1970/01/01 00:00:00 user $
+a
 % custom keyword expansion
 % cat
-expand $Id: a,v 126ec311add6 1970/01/01 00:00:00 user $
-expand $Id: a,v 126ec311add6 1970/01/01 00:00:00 user $
+expand $Id: a,v 99e97605039e 1970/01/01 00:00:00 user $
 ignore $Id$
+archive $Id$
+expand $Id: a,v 99e97605039e 1970/01/01 00:00:00 user $
 % hg cat
-expand $Id: a 126ec311add6 Thu, 01 Jan 1970 00:00:00 +0000 user $
+expand $Id: a 99e97605039e Thu, 01 Jan 1970 00:00:00 +0000 user $
+archive $Id$
 ignore $Id$
 a
 % commit
@@ -86,25 +106,27 @@
 overwriting a expanding keywords
 % status
 % cat
-expand $Id: a 6022c13396d3 Thu, 01 Jan 1970 00:00:01 +0000 user $
-$Xinfo: User Name <user@example.com>: firstline $
-expand $Id: a 6022c13396d3 Thu, 01 Jan 1970 00:00:01 +0000 user $
+expand $Id: a 001dbcdc5258 Thu, 01 Jan 1970 00:00:01 +0000 user $
 $Xinfo: User Name <user@example.com>: firstline $
 ignore $Id$
+archive $Id$
+expand $Id: a 001dbcdc5258 Thu, 01 Jan 1970 00:00:01 +0000 user $
+$Xinfo: User Name <user@example.com>: firstline $
 % hg cat
-expand $Id: a 6022c13396d3 Thu, 01 Jan 1970 00:00:01 +0000 user $
+expand $Id: a 001dbcdc5258 Thu, 01 Jan 1970 00:00:01 +0000 user $
 $Xinfo: User Name <user@example.com>: firstline $
+archive $Id$
 ignore $Id$
 a
 requesting all changes
 adding changesets
 adding manifests
 adding file changes
-added 1 changesets with 3 changes to 3 files
-3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+added 1 changesets with 4 changes to 4 files
+4 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % incoming
 searching for changes
-changeset:   1:6022c13396d3
+changeset:   1:001dbcdc5258
 tag:         tip
 user:        User Name <user@example.com>
 date:        Thu Jan 01 00:00:01 1970 +0000
@@ -112,21 +134,24 @@
 
 % switch off expansion
 % cat
-expand $Id: a 6022c13396d3 Thu, 01 Jan 1970 00:00:01 +0000 user $
-$Xinfo: User Name <user@example.com>: firstline $
-expand $Id: a 6022c13396d3 Thu, 01 Jan 1970 00:00:01 +0000 user $
+expand $Id: a 001dbcdc5258 Thu, 01 Jan 1970 00:00:01 +0000 user $
 $Xinfo: User Name <user@example.com>: firstline $
 ignore $Id$
+archive $Id$
+expand $Id: a 001dbcdc5258 Thu, 01 Jan 1970 00:00:01 +0000 user $
+$Xinfo: User Name <user@example.com>: firstline $
 % hg cat
 expand $Id$
 $Xinfo$
+archive $Id$
+ignore $Id$
+a
+% update
+4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% cat
+expand $Id$
+$Xinfo$
 ignore $Id$
-a
-% update
-3 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% cat
+archive $Id$
 expand $Id$
 $Xinfo$
-expand $Id$
-$Xinfo$
-ignore $Id$