tests/test-keyword
author Christian Ebert <blacktrash@gmx.net>
Thu, 14 Feb 2008 13:26:51 +0100
changeset 408 33e5b8a51e47
parent 392 45a318c5ea20
child 409 6e2293f7b9f7
permissions -rwxr-xr-x
Make main class and hg command accessible Switch from global vars to top level dictionary. Goal: make it easier for external tools (like tortoisehg) to hook into keyword extension.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     1
#!/bin/sh
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     2
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     3
cat <<EOF >> $HGRCPATH
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     4
[extensions]
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     5
hgext.keyword =
342
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
     6
hgext.mq =
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     7
[keyword]
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     8
* =
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     9
b = ignore
294
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    10
[hooks]
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    11
commit=
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    12
commit.test=cp a hooktest
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    13
EOF
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    14
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    15
echo % help
290
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
    16
hg help keyword
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    17
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    18
echo % hg kwdemo
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    19
hg --quiet kwdemo --default \
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    20
| sed -e 's![^ ][^ ]*demo.txt,v!/TMP/demo.txt,v!' \
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    21
 -e 's/,v [a-z0-9][a-z0-9]* /,v xxxxxxxxxxxx /' \
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    22
 -e '/[$]Revision/ s/: [a-z0-9][a-z0-9]* /: xxxxxxxxxxxx /' \
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    23
 -e 's! 20[0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-6][0-9]:[0-6][0-9]! 2000/00/00 00:00:00!'
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    24
210
304f9ac35869 kwdemo fixes and tweaks
Christian Ebert <blacktrash@gmx.net>
parents: 209
diff changeset
    25
hg --quiet kwdemo "Branch = {branches}"
304f9ac35869 kwdemo fixes and tweaks
Christian Ebert <blacktrash@gmx.net>
parents: 209
diff changeset
    26
384
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    27
hg init Test-bndl
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    28
cd Test-bndl
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    29
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
    30
echo % kwshrink should exit silently in empty/invalid repo
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
    31
hg kwshrink
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    32
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    33
# Symlinks cannot be created on Windows. The bundle was made with:
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    34
#
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    35
# hg init t
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    36
# cd t
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    37
# echo a > a
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    38
# ln -s a sym
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    39
# hg add sym
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    40
# hg ci -m addsym -u mercurial
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    41
# hg bundle --base null ../test-keyword.hg
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    42
#
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    43
hg pull -u "$TESTDIR/test-keyword.hg" \
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    44
    | sed 's/pulling from.*test-keyword.hg/pulling from test-keyword.hg/'
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    45
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    46
echo 'expand $Id$' > a
223
65a01675a944 Test that pattern does not span more than 1 line
Christian Ebert <blacktrash@gmx.net>
parents: 218
diff changeset
    47
echo 'do not process $Id:' >> a
65a01675a944 Test that pattern does not span more than 1 line
Christian Ebert <blacktrash@gmx.net>
parents: 218
diff changeset
    48
echo 'xxx $' >> a
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    49
echo 'ignore $Id$' > b
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    50
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    51
cat a b
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    52
305
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    53
echo % addremove
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    54
hg addremove
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    55
echo % status
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    56
hg status
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    57
294
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    58
echo % default keyword expansion including commit hook
305
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    59
echo % interrupted commit should not change state or run commit hook
337
67b4decdee67 Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 333
diff changeset
    60
hg --debug commit
305
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    61
echo % status
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    62
hg status
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
    63
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    64
echo % commit
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
    65
hg --debug commit -mabsym -d '0 0' -u 'User Name <user@example.com>'
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    66
echo % status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    67
hg status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    68
echo % identify
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    69
hg --quiet identify
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    70
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
    71
cat a b
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
    72
echo % hg cat
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
    73
hg cat sym a b
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    74
290
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
    75
echo
294
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    76
echo % diff a hooktest
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    77
diff a hooktest
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    78
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    79
echo % removing commit hook from config
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    80
sed -e '/\[hooks\]/,$ d' $HGRCPATH > $HGRCPATH.nohook
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    81
mv $HGRCPATH.nohook $HGRCPATH
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    82
rm hooktest
343c5dd8dcda Add commit hook test
Christian Ebert <blacktrash@gmx.net>
parents: 290
diff changeset
    83
384
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    84
echo % bundle
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    85
hg bundle --base null ../kw.hg
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    86
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    87
cd ..
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    88
hg init Test
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    89
cd Test
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    90
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    91
echo % pull from bundle
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    92
hg pull -u ../kw.hg
482c91f8c230 Do not set up kwrepo when pulling from bundlerepo
Christian Ebert <blacktrash@gmx.net>
parents: 381
diff changeset
    93
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    94
echo % touch
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    95
touch a b
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    96
echo % status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    97
hg status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    98
290
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
    99
rm sym a b
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   100
echo % update
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   101
hg update
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   102
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   103
cat a b
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   104
336
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   105
echo % check whether expansion is filewise
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   106
echo '$Id$' > c
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   107
echo 'tests for different changenodes' >> c
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   108
echo % commit c
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   109
hg commit -A -mcndiff -d '1 0' -u 'User Name <user@example.com>'
336
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   110
echo % force expansion
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   111
hg -v kwexpand
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   112
echo % compare changenodes in a c
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   113
cat a c
342
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   114
381
17e94f77de6a Prevent expansion in queue repo and for email
Christian Ebert <blacktrash@gmx.net>
parents: 378
diff changeset
   115
echo % qinit -c
17e94f77de6a Prevent expansion in queue repo and for email
Christian Ebert <blacktrash@gmx.net>
parents: 378
diff changeset
   116
hg qinit -c
342
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   117
echo % qimport
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   118
hg qimport -r tip -n mqtest.diff
381
17e94f77de6a Prevent expansion in queue repo and for email
Christian Ebert <blacktrash@gmx.net>
parents: 378
diff changeset
   119
echo % qcommit
17e94f77de6a Prevent expansion in queue repo and for email
Christian Ebert <blacktrash@gmx.net>
parents: 378
diff changeset
   120
hg qcommit -mqtest
342
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   121
echo % keywords should not be expanded in patch
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   122
cat .hg/patches/mqtest.diff
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   123
echo % qpop
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   124
hg qpop
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   125
echo % qgoto - should imply qpush
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   126
hg qgoto mqtest.diff
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   127
echo % cat
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   128
cat c
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   129
echo % qpop and move on
abf7ccaf0788 Add a very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 338
diff changeset
   130
hg qpop
336
46f5cf3e1a7f Test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 333
diff changeset
   131
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   132
echo % copy
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   133
hg cp a c
259
76402fc0fb58 Test kwfiles working context
Christian Ebert <blacktrash@gmx.net>
parents: 257
diff changeset
   134
76402fc0fb58 Test kwfiles working context
Christian Ebert <blacktrash@gmx.net>
parents: 257
diff changeset
   135
echo % kwfiles added
76402fc0fb58 Test kwfiles working context
Christian Ebert <blacktrash@gmx.net>
parents: 257
diff changeset
   136
hg kwfiles
76402fc0fb58 Test kwfiles working context
Christian Ebert <blacktrash@gmx.net>
parents: 257
diff changeset
   137
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   138
echo % commit
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   139
hg --debug commit -ma2c -d '1 0' -u 'User Name <user@example.com>'
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   140
echo % cat a c
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   141
cat a c
249
8df281c5ca8b Make kwfilelog.cmp test reliable
Christian Ebert <blacktrash@gmx.net>
parents: 247
diff changeset
   142
echo % touch copied c after 1 second
8df281c5ca8b Make kwfilelog.cmp test reliable
Christian Ebert <blacktrash@gmx.net>
parents: 247
diff changeset
   143
sleep 1
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   144
touch c
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   145
echo % status
214
b2e63ec251a9 Add forgotten status for touch copy test
Christian Ebert <blacktrash@gmx.net>
parents: 210
diff changeset
   146
hg status
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   147
247
fc091591de7e Test kwfiles command
Christian Ebert <blacktrash@gmx.net>
parents: 241
diff changeset
   148
echo % kwfiles
fc091591de7e Test kwfiles command
Christian Ebert <blacktrash@gmx.net>
parents: 241
diff changeset
   149
hg kwfiles
fc091591de7e Test kwfiles command
Christian Ebert <blacktrash@gmx.net>
parents: 241
diff changeset
   150
224
fd98a9bffcbe Test "hg diff --rev", update _getcmd comment (backwards compatibility)
Christian Ebert <blacktrash@gmx.net>
parents: 223
diff changeset
   151
echo % diff --rev
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   152
hg diff --rev 1 | grep -v 'b/c'
224
fd98a9bffcbe Test "hg diff --rev", update _getcmd comment (backwards compatibility)
Christian Ebert <blacktrash@gmx.net>
parents: 223
diff changeset
   153
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   154
echo % rollback
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   155
hg rollback
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   156
echo % status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   157
hg status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   158
echo % update -C
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   159
hg update --clean
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   160
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   161
echo % custom keyword expansion
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   162
echo % try with kwdemo
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   163
hg --quiet kwdemo "Xinfo = {author}: {desc}"
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   164
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   165
cat <<EOF >>$HGRCPATH
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   166
[keywordmaps]
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   167
Id = {file} {node|short} {date|rfc822date} {author|user}
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   168
Xinfo = {author}: {desc}
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   169
EOF
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   170
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   171
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   172
cat a b
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   173
echo % hg cat
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   174
hg cat sym a b
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   175
290
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
   176
echo
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   177
echo '$Xinfo$' >> a
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   178
cat <<EOF >> log
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   179
firstline
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   180
secondline
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   181
EOF
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   182
305
d3cdaa49a644 Test that commit hooks are not run on interrupted commit
Christian Ebert <blacktrash@gmx.net>
parents: 302
diff changeset
   183
echo % interrupted commit should not change state
337
67b4decdee67 Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 333
diff changeset
   184
hg commit
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   185
echo % status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   186
hg status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   187
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   188
echo % commit
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   189
hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>'
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   190
rm log
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   191
echo % status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   192
hg status
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   193
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   194
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   195
cat a b
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   196
echo % hg cat
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   197
hg cat sym a b
290
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
   198
echo
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   199
215
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   200
echo % remove
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   201
hg remove a
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   202
hg --debug commit -m rma
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   203
echo % status
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   204
hg status
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   205
echo % rollback
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   206
hg rollback
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   207
echo % status
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   208
hg status
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   209
echo % revert a
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   210
hg revert --no-backup --rev tip a
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   211
echo % cat a
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   212
cat a
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   213
ff719fcc10a3 Test remove
Christian Ebert <blacktrash@gmx.net>
parents: 214
diff changeset
   214
echo % clone to test incoming
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   215
cd ..
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   216
hg clone -r1 Test Test-a
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   217
cd Test-a
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   218
cat <<EOF >> .hg/hgrc
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   219
[paths]
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   220
default = ../Test
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   221
EOF
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   222
echo % incoming
290
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
   223
# remove path to temp dir
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
   224
hg incoming | sed -e 's/^\(comparing with \).*\(test-keyword.*\)/\1\2/'
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   225
333
c1521ff40eda Don't use the -i option with sed
Will Maier <willmaier@ml1.net>
parents: 325
diff changeset
   226
sed -e 's/Id.*/& rejecttest/' a > a.new
c1521ff40eda Don't use the -i option with sed
Will Maier <willmaier@ml1.net>
parents: 325
diff changeset
   227
mv a.new a
323
9107f7a3fd12 test: rename (misleading) conflicttest to rejecttest
Christian Ebert <blacktrash@gmx.net>
parents: 316
diff changeset
   228
echo % commit rejecttest
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   229
hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>'
316
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   230
echo % export
323
9107f7a3fd12 test: rename (misleading) conflicttest to rejecttest
Christian Ebert <blacktrash@gmx.net>
parents: 316
diff changeset
   231
hg export -o ../rejecttest.diff tip
316
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   232
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   233
cd ../Test
316
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   234
echo % import
323
9107f7a3fd12 test: rename (misleading) conflicttest to rejecttest
Christian Ebert <blacktrash@gmx.net>
parents: 316
diff changeset
   235
hg import ../rejecttest.diff
316
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   236
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   237
cat a b
316
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   238
echo
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   239
echo % rollback
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   240
hg rollback
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   241
echo % clean update
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   242
hg update --clean
98656ffb1cec Test potential import conflict
Christian Ebert <blacktrash@gmx.net>
parents: 313
diff changeset
   243
281
c6314b110e67 Detailed test of kwexpand/kwshrink w/ file arguments
Christian Ebert <blacktrash@gmx.net>
parents: 279
diff changeset
   244
echo % kwexpand/kwshrink on selected files
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   245
mkdir x
281
c6314b110e67 Detailed test of kwexpand/kwshrink w/ file arguments
Christian Ebert <blacktrash@gmx.net>
parents: 279
diff changeset
   246
echo % copy a x/a
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   247
hg copy a x/a
281
c6314b110e67 Detailed test of kwexpand/kwshrink w/ file arguments
Christian Ebert <blacktrash@gmx.net>
parents: 279
diff changeset
   248
echo % kwexpand a
c6314b110e67 Detailed test of kwexpand/kwshrink w/ file arguments
Christian Ebert <blacktrash@gmx.net>
parents: 279
diff changeset
   249
hg --verbose kwexpand a
c6314b110e67 Detailed test of kwexpand/kwshrink w/ file arguments
Christian Ebert <blacktrash@gmx.net>
parents: 279
diff changeset
   250
echo % kwexpand x/a should abort
c6314b110e67 Detailed test of kwexpand/kwshrink w/ file arguments
Christian Ebert <blacktrash@gmx.net>
parents: 279
diff changeset
   251
hg --verbose kwexpand x/a
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   252
cd x
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   253
hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>'
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   254
echo % cat a
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   255
cat a
281
c6314b110e67 Detailed test of kwexpand/kwshrink w/ file arguments
Christian Ebert <blacktrash@gmx.net>
parents: 279
diff changeset
   256
echo % kwshrink a inside directory x
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   257
hg --verbose kwshrink a
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   258
echo % cat a
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   259
cat a
337
67b4decdee67 Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 333
diff changeset
   260
cd ..
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   261
279
1f00dce8de12 Test if warning about non-existing files is triggered
Christian Ebert <blacktrash@gmx.net>
parents: 267
diff changeset
   262
echo % kwexpand nonexistent
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   263
hg kwexpand nonexistent 2>&1 | sed 's/nonexistent:.*/nonexistent:/'
279
1f00dce8de12 Test if warning about non-existing files is triggered
Christian Ebert <blacktrash@gmx.net>
parents: 267
diff changeset
   264
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   265
echo % switch off expansion
267
4a24c3acd4f2 Tighten condition for kwshrink/kwexpand test
Christian Ebert <blacktrash@gmx.net>
parents: 259
diff changeset
   266
echo % kwshrink with unknown file u
4a24c3acd4f2 Tighten condition for kwshrink/kwexpand test
Christian Ebert <blacktrash@gmx.net>
parents: 259
diff changeset
   267
cp a u
241
e0a846f9f095 Test kwshrink w/ argument while not in top level directory
Christian Ebert <blacktrash@gmx.net>
parents: 224
diff changeset
   268
hg --verbose kwshrink
189
247159261ba5 Add backwards compatible test-suite
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   269
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   270
cat a b
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   271
echo % hg cat
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   272
hg cat sym a b
290
b05795ad5632 Make keyword against current Mercurial available as standalone extension
Christian Ebert <blacktrash@gmx.net>
parents: 281
diff changeset
   273
echo
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   274
rm $HGRCPATH
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   275
echo % cat
392
45a318c5ea20 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 384
diff changeset
   276
cat a b
378
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   277
echo % hg cat
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   278
hg cat sym a b
0683aaf458d8 Discard wread/wwrite approach, merge with stable
Christian Ebert <blacktrash@gmx.net>
parents: 376
diff changeset
   279
echo