tests/test-keyword
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Thu, 10 Jun 2010 11:49:48 +0200
changeset 11337 0f3c8a47960e
parent 11252 56f306238256
child 11678 f5aa20e177c0
permissions -rwxr-xr-x
debugbuilddag: build a changelog dag from a concise description Useful in tests to quickly build a complex DAG in an empty repo. Handles local tags and named branches. Options to, at each rev, - create a new file, - overwrite the same file, - append to the same file, - write to a specific line in a mergeable file. Can run shell commands during DAG buildup.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     1
#!/bin/sh
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     2
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     3
cat <<EOF >> $HGRCPATH
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     4
[extensions]
10125
19c3fefdaec9 tests highlight, keyword: load extensions with "ext ="
Christian Ebert <blacktrash@gmx.net>
parents: 10117
diff changeset
     5
keyword =
19c3fefdaec9 tests highlight, keyword: load extensions with "ext ="
Christian Ebert <blacktrash@gmx.net>
parents: 10117
diff changeset
     6
mq =
19c3fefdaec9 tests highlight, keyword: load extensions with "ext ="
Christian Ebert <blacktrash@gmx.net>
parents: 10117
diff changeset
     7
notify =
11046
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
     8
record =
10125
19c3fefdaec9 tests highlight, keyword: load extensions with "ext ="
Christian Ebert <blacktrash@gmx.net>
parents: 10117
diff changeset
     9
transplant =
11046
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
    10
[ui]
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
    11
interactive = true
9462
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    12
EOF
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    13
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    14
# demo before [keyword] files are set up
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    15
# would succeed without uisetup otherwise
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    16
echo % hg kwdemo
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    17
hg --quiet kwdemo \
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    18
| sed -e 's![^ ][^ ]*demo.txt,v!/TMP/demo.txt,v!' \
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    19
 -e 's/,v [a-z0-9][a-z0-9]* /,v xxxxxxxxxxxx /' \
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    20
 -e '/[$]Revision/ s/: [a-z0-9][a-z0-9]* /: xxxxxxxxxxxx /' \
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    21
 -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!'
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    22
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    23
hg --quiet kwdemo "Branch = {branches}"
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    24
1f54b1b7122f test-keyword: run kwdemo before setting up [keyword] files
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    25
cat <<EOF >> $HGRCPATH
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    26
[keyword]
11044
5ab414f71e87 keyword: remove mq commands from restricted list
Christian Ebert <blacktrash@gmx.net>
parents: 10931
diff changeset
    27
** =
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    28
b = ignore
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    29
[hooks]
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    30
commit=
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    31
commit.test=cp a hooktest
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    32
EOF
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    33
6051
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
    34
hg init Test-bndl
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
    35
cd Test-bndl
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    36
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    37
echo % kwshrink should exit silently in empty/invalid repo
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    38
hg kwshrink
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    39
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    40
# Symlinks cannot be created on Windows. The bundle was made with:
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    41
#
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    42
# hg init t
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    43
# cd t
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    44
# echo a > a
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    45
# ln -s a sym
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    46
# hg add sym
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    47
# hg ci -m addsym -u mercurial
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    48
# hg bundle --base null ../test-keyword.hg
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    49
#
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    50
hg pull -u "$TESTDIR/test-keyword.hg" \
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    51
    | sed 's/pulling from.*test-keyword.hg/pulling from test-keyword.hg/'
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    52
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    53
echo 'expand $Id$' > a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    54
echo 'do not process $Id:' >> a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    55
echo 'xxx $' >> a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    56
echo 'ignore $Id$' > b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    57
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    58
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    59
9493
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    60
echo % no kwfiles
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    61
hg kwfiles
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    62
echo % untracked candidates
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    63
hg -v kwfiles --unknown
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
    64
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    65
echo % addremove
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    66
hg addremove
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    67
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    68
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    69
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    70
echo % default keyword expansion including commit hook
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    71
echo % interrupted commit should not change state or run commit hook
5855
a6ccb957fd07 Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5839
diff changeset
    72
hg --debug commit
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    73
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    74
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    75
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    76
echo % commit
8167
6c82beaaa11a tests: removed redundant "-d '0 0'" from test scripts
Martin Geisler <mg@lazybytes.net>
parents: 7527
diff changeset
    77
hg --debug commit -mabsym -u 'User Name <user@example.com>'
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    78
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    79
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    80
echo % identify
6157
09b00faa8670 keyword: remove "identify" and "remove" from nokwcommands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 6116
diff changeset
    81
hg debugrebuildstate
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    82
hg --quiet identify
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    83
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
    84
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    85
echo % hg cat
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    86
hg cat sym a b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    87
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    88
echo
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    89
echo % diff a hooktest
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    90
diff a hooktest
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    91
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    92
echo % removing commit hook from config
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 10125
diff changeset
    93
sed -e '/\[hooks\]/,$ d' "$HGRCPATH" > $HGRCPATH.nohook
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 10125
diff changeset
    94
mv "$HGRCPATH".nohook "$HGRCPATH"
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    95
rm hooktest
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    96
6051
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
    97
echo % bundle
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
    98
hg bundle --base null ../kw.hg
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
    99
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
   100
cd ..
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
   101
hg init Test
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
   102
cd Test
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
   103
6116
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   104
echo % notify on pull to check whether keywords stay as is in email
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   105
echo % ie. if patch.diff wrapper acts as it should
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   106
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   107
cat <<EOF >> $HGRCPATH
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   108
[hooks]
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   109
incoming.notify = python:hgext.notify.hook
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   110
[notify]
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   111
sources = pull
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   112
diffstat = False
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   113
[reposubs]
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   114
* = Test
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   115
EOF
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   116
6051
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
   117
echo % pull from bundle
7116
e981725da3fe notify: mime-encode messages
Christian Ebert <blacktrash@gmx.net>
parents: 6933
diff changeset
   118
hg pull -u ../kw.hg 2>&1 | sed -e '/^Content-Type:/,/^diffs (/ d'
6116
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   119
e27f39865d7e keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents: 6061
diff changeset
   120
echo % remove notify config
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 10125
diff changeset
   121
sed -e '/\[hooks\]/,$ d' "$HGRCPATH" > $HGRCPATH.nonotify
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 10125
diff changeset
   122
mv "$HGRCPATH".nonotify "$HGRCPATH"
6051
1038b1458d7a keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents: 5894
diff changeset
   123
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   124
echo % touch
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   125
touch a b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   126
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   127
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   128
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   129
rm sym a b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   130
echo % update
8742
a964ab624385 merge: allow merging going backwards
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
   131
hg update -C
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   132
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   133
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   134
5856
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   135
echo % check whether expansion is filewise
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   136
echo '$Id$' > c
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   137
echo 'tests for different changenodes' >> c
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   138
echo % commit c
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   139
hg commit -A -mcndiff -d '1 0' -u 'User Name <user@example.com>'
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   140
echo % force expansion
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   141
hg -v kwexpand
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   142
echo % compare changenodes in a c
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   143
cat a c
5894
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   144
11252
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   145
echo % record chunk
11065
76d6c19aa8ef keyword: cleanup test and make it portable
Christian Ebert <blacktrash@gmx.net>
parents: 11046
diff changeset
   146
python -c \
76d6c19aa8ef keyword: cleanup test and make it portable
Christian Ebert <blacktrash@gmx.net>
parents: 11046
diff changeset
   147
'l=open("a").readlines();l.insert(1,"foo\n");l.append("bar\n");open("a","w").writelines(l);'
11046
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   148
hg record -d '1 10' -m rectest<<EOF
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   149
y
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   150
y
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   151
n
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   152
EOF
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   153
echo
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   154
hg identify
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   155
hg status
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   156
echo % cat modified file
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   157
cat a
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   158
hg diff | grep -v 'b/a'
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   159
hg rollback
11252
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   160
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   161
echo % record file
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   162
echo foo > msg
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   163
# do not use "hg record -m" here!
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   164
hg record -l msg -d '1 11'<<EOF
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   165
y
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   166
y
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   167
y
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   168
EOF
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   169
echo % a should be clean
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   170
hg status -A a
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   171
rm msg
56f306238256 keyword: force dirstate normal when all changes in a file are recorded
Christian Ebert <blacktrash@gmx.net>
parents: 11065
diff changeset
   172
hg rollback
11046
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   173
hg update -C
6e9b9f6c117c keyword: test recording
Christian Ebert <blacktrash@gmx.net>
parents: 11044
diff changeset
   174
10931
75101b1e6302 keyword: replace deprecated mq commands in test
Christian Ebert <blacktrash@gmx.net>
parents: 10775
diff changeset
   175
echo % init --mq
75101b1e6302 keyword: replace deprecated mq commands in test
Christian Ebert <blacktrash@gmx.net>
parents: 10775
diff changeset
   176
hg init --mq
5894
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   177
echo % qimport
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   178
hg qimport -r tip -n mqtest.diff
10931
75101b1e6302 keyword: replace deprecated mq commands in test
Christian Ebert <blacktrash@gmx.net>
parents: 10775
diff changeset
   179
echo % commit --mq
75101b1e6302 keyword: replace deprecated mq commands in test
Christian Ebert <blacktrash@gmx.net>
parents: 10775
diff changeset
   180
hg commit --mq -m mqtest
5894
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   181
echo % keywords should not be expanded in patch
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   182
cat .hg/patches/mqtest.diff
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   183
echo % qpop
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   184
hg qpop
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   185
echo % qgoto - should imply qpush
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   186
hg qgoto mqtest.diff
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   187
echo % cat
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   188
cat c
11044
5ab414f71e87 keyword: remove mq commands from restricted list
Christian Ebert <blacktrash@gmx.net>
parents: 10931
diff changeset
   189
echo % hg cat
5ab414f71e87 keyword: remove mq commands from restricted list
Christian Ebert <blacktrash@gmx.net>
parents: 10931
diff changeset
   190
hg cat c
5ab414f71e87 keyword: remove mq commands from restricted list
Christian Ebert <blacktrash@gmx.net>
parents: 10931
diff changeset
   191
echo % keyword should not be expanded in filelog
5ab414f71e87 keyword: remove mq commands from restricted list
Christian Ebert <blacktrash@gmx.net>
parents: 10931
diff changeset
   192
hg --config 'extensions.keyword=!' cat c
5894
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   193
echo % qpop and move on
e181665c1c79 keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents: 5856
diff changeset
   194
hg qpop
5856
85888efbdfff keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents: 5855
diff changeset
   195
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   196
echo % copy
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   197
hg cp a c
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   198
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   199
echo % kwfiles added
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   200
hg kwfiles
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   201
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   202
echo % commit
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   203
hg --debug commit -ma2c -d '1 0' -u 'User Name <user@example.com>'
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   204
echo % cat a c
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   205
cat a c
6328
991f7518c3f3 tests: remove some unnecessary sleeps
Matt Mackall <mpm@selenic.com>
parents: 6157
diff changeset
   206
echo % touch copied c
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   207
touch c
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   208
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   209
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   210
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   211
echo % kwfiles
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   212
hg kwfiles
9493
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
   213
echo % ignored files
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
   214
hg -v kwfiles --ignore
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
   215
echo % all files
fe1ecd15c6bd keyword: make kwfiles -u show untracked files only (like status)
Christian Ebert <blacktrash@gmx.net>
parents: 9306
diff changeset
   216
hg kwfiles --all
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   217
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   218
echo % diff --rev
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   219
hg diff --rev 1 | grep -v 'b/c'
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   220
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   221
echo % rollback
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   222
hg rollback
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   223
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   224
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   225
echo % update -C
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   226
hg update --clean
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   227
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   228
echo % custom keyword expansion
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   229
echo % try with kwdemo
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   230
hg --quiet kwdemo "Xinfo = {author}: {desc}"
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   231
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   232
cat <<EOF >>$HGRCPATH
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   233
[keywordmaps]
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   234
Id = {file} {node|short} {date|rfc822date} {author|user}
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   235
Xinfo = {author}: {desc}
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   236
EOF
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   237
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   238
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   239
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   240
echo % hg cat
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   241
hg cat sym a b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   242
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   243
echo
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   244
echo '$Xinfo$' >> a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   245
cat <<EOF >> log
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   246
firstline
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   247
secondline
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   248
EOF
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   249
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   250
echo % interrupted commit should not change state
5855
a6ccb957fd07 Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5839
diff changeset
   251
hg commit
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   252
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   253
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   254
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   255
echo % commit
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   256
hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>'
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   257
rm log
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   258
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   259
hg status
6867
e64f5abb8a88 keyword: add verify to nokwcommands after refactor in e79a8f36c2a5
Christian Ebert <blacktrash@gmx.net>
parents: 6667
diff changeset
   260
echo % verify
e64f5abb8a88 keyword: add verify to nokwcommands after refactor in e79a8f36c2a5
Christian Ebert <blacktrash@gmx.net>
parents: 6667
diff changeset
   261
hg verify
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   262
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   263
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   264
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   265
echo % hg cat
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   266
hg cat sym a b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   267
echo
6667
01e95d4bc66c keyword: disable expansion for annotate
Christian Ebert <blacktrash@gmx.net>
parents: 6354
diff changeset
   268
echo % annotate
01e95d4bc66c keyword: disable expansion for annotate
Christian Ebert <blacktrash@gmx.net>
parents: 6354
diff changeset
   269
hg annotate a
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   270
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   271
echo % remove
6157
09b00faa8670 keyword: remove "identify" and "remove" from nokwcommands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 6116
diff changeset
   272
hg debugrebuildstate
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   273
hg remove a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   274
hg --debug commit -m rma
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   275
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   276
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   277
echo % rollback
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   278
hg rollback
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   279
echo % status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   280
hg status
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   281
echo % revert a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   282
hg revert --no-backup --rev tip a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   283
echo % cat a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   284
cat a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   285
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   286
echo % clone to test incoming
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   287
cd ..
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   288
hg clone -r1 Test Test-a
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   289
cd Test-a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   290
cat <<EOF >> .hg/hgrc
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   291
[paths]
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   292
default = ../Test
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   293
EOF
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   294
echo % incoming
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   295
# remove path to temp dir
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   296
hg incoming | sed -e 's/^\(comparing with \).*\(test-keyword.*\)/\1\2/'
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   297
5839
59fba5caa94b Don't use the -i option with sed
Will Maier <willmaier@ml1.net>
parents: 5816
diff changeset
   298
sed -e 's/Id.*/& rejecttest/' a > a.new
59fba5caa94b Don't use the -i option with sed
Will Maier <willmaier@ml1.net>
parents: 5816
diff changeset
   299
mv a.new a
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   300
echo % commit rejecttest
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   301
hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>'
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   302
echo % export
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   303
hg export -o ../rejecttest.diff tip
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   304
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   305
cd ../Test
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   306
echo % import
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   307
hg import ../rejecttest.diff
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   308
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   309
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   310
echo
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   311
echo % rollback
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   312
hg rollback
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   313
echo % clean update
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   314
hg update --clean
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   315
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   316
echo % kwexpand/kwshrink on selected files
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   317
mkdir x
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   318
echo % copy a x/a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   319
hg copy a x/a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   320
echo % kwexpand a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   321
hg --verbose kwexpand a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   322
echo % kwexpand x/a should abort
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   323
hg --verbose kwexpand x/a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   324
cd x
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   325
hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>'
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   326
echo % cat a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   327
cat a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   328
echo % kwshrink a inside directory x
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   329
hg --verbose kwshrink a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   330
echo % cat a
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   331
cat a
5855
a6ccb957fd07 Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5839
diff changeset
   332
cd ..
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   333
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   334
echo % kwexpand nonexistent
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   335
hg kwexpand nonexistent 2>&1 | sed 's/nonexistent:.*/nonexistent:/'
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   336
6927
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   337
echo % hg serve
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   338
hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   339
cat hg.pid >> $DAEMON_PIDS
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   340
echo % expansion
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   341
echo % hgweb file
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   342
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/a/?style=raw')
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   343
echo % no expansion
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   344
echo % hgweb annotate
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   345
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/a/?style=raw')
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   346
echo % hgweb changeset
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   347
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/rev/tip/?style=raw')
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   348
echo % hgweb filediff
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   349
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/diff/bb948857c743/a?style=raw')
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   350
echo % errors encountered
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   351
cat errors.log
959113c5e1cd keyword: thorough hgweb testing
Christian Ebert <blacktrash@gmx.net>
parents: 6867
diff changeset
   352
6933
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   353
echo % merge/resolve
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   354
echo '$Id$' > m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   355
hg add m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   356
hg commit -m 4kw 
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   357
echo foo >> m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   358
hg commit -m 5foo
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   359
echo % simplemerge
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   360
hg update 4
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   361
echo foo >> m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   362
hg commit -m 6foo
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   363
hg merge
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   364
hg commit -m simplemerge
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   365
cat m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   366
echo % conflict
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   367
hg update 4
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   368
echo bar >> m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   369
hg commit -m 8bar
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   370
hg merge
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   371
echo % keyword stays outside conflict zone
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   372
cat m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   373
echo % resolve to local
7527
5a14a8f3b909 resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents: 7116
diff changeset
   374
HGMERGE=internal:local hg resolve -a
6933
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   375
hg commit -m localresolve
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   376
cat m
17bdcd59b9ad keyword: avoid additional conflicts during merge/resolve
Christian Ebert <blacktrash@gmx.net>
parents: 6927
diff changeset
   377
10117
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   378
echo % test restricted mode with transplant -b
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   379
hg update 6
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   380
hg branch foo
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   381
mv a a.bak
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   382
echo foobranch > a
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   383
cat a.bak >> a
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   384
rm a.bak
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   385
hg commit -m 9foobranch
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   386
hg update default
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   387
hg -y transplant -b foo tip
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   388
echo % no expansion in changeset
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   389
hg tip -p
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   390
echo % expansion in file
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   391
head -n 2 a
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   392
hg -q rollback
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   393
hg -q update -C
98867145f4b5 keyword: go into restricted mode when transplanting
Christian Ebert <blacktrash@gmx.net>
parents: 9602
diff changeset
   394
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   395
echo % switch off expansion
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   396
echo % kwshrink with unknown file u
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   397
cp a u
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   398
hg --verbose kwshrink
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   399
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   400
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   401
echo % hg cat
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   402
hg cat sym a b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   403
echo
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 10125
diff changeset
   404
rm "$HGRCPATH"
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   405
echo % cat
6061
de08788511d7 test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 6051
diff changeset
   406
cat a b
5816
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   407
echo % hg cat
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   408
hg cat sym a b
3bd22fd3b750 keyword: add test
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
   409
echo