Mercurial > hg
annotate tests/test-mq-qrefresh @ 11769:ca6cebd8734e stable
dirstate: ignore symlinks when fs cannot handle them (issue1888)
When the filesystem cannot handle the executable bit, we currently
ignore it completely when looking for modified files. Similarly, it is
impossible to set or clear the bit when the filesystem ignores it.
This patch makes Mercurial treat symbolic links the same way.
Symlinks are a little different since they manifest themselves as
small files containing a filename (the symlink target). On Windows,
these files show up as regular files, and on Linux and Mac they show
up as real symlinks.
Issue1888 presents a case where the symlink files are better ignored
from the Windows side. A Linux client creates symlinks in a working
copy which is shared over a network between Linux and Windows clients.
The Samba server is helpful and defererences the symlink when the
Windows client looks at it. This means that Mercurial on the Windows
side sees file content instead of a file name in the symlink, and
hence flags the link as modified. Ignoring the change would be much
more helpful, similarly to how Mercurial does not report any changes
when executable bits are ignored in a checkout on Windows.
An initial checkout of a symbolic link on a file system that cannot
handle symbolic links will still result in a regular file containing
the target file name as its content. Sharing such a checkout with a
Linux client will not turn the file into a symlink automatically, but
'hg revert' can fix that. After the revert, the Windows client will
see the correct file content (provided by the Samba server when it
follows the link on the Linux side) and otherwise ignore the change.
Running 'hg perfstatus' 10 times gives these results:
Before: After:
min: 0.544703 min: 0.546549
med: 0.547592 med: 0.548881
avg: 0.549146 avg: 0.548549
max: 0.564112 max: 0.551504
The median time is increased about 0.24%.
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Mon, 09 Aug 2010 15:31:56 +0200 |
parents | 8cb81d75730c |
children |
rev | line source |
---|---|
3136
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
1 #!/bin/sh |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
2 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
3 echo "[extensions]" >> $HGRCPATH |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
4 echo "mq=" >> $HGRCPATH |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
5 |
10397
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
6 catpatch() { |
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
7 cat $1 | sed -e "s/^\(# Parent \).*/\1/" |
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
8 } |
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
9 |
3136
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
10 echo % init |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
11 hg init a |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
12 cd a |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
13 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
14 echo % commit |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
15 mkdir 1 2 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
16 echo 'base' > 1/base |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
17 echo 'base' > 2/base |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
18 hg ci -Ambase -d '1 0' |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
19 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
20 echo % qnew mqbase |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
21 hg qnew -mmqbase mqbase |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
22 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
23 echo % qrefresh |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
24 echo 'patched' > 1/base |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
25 echo 'patched' > 2/base |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
26 hg qrefresh |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
27 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
28 echo % qdiff |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
29 hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
30 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
31 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
32 echo % qdiff dirname |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
33 hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
34 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
35 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
36 echo % patch file contents |
10397
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
37 catpatch .hg/patches/mqbase | \ |
3136
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
38 sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
39 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
40 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
41 echo % qrefresh 1 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
42 echo 'patched again' > base |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
43 hg qrefresh 1 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
44 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
45 echo % qdiff |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
46 hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
47 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
48 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
49 echo % qdiff dirname |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
50 hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
51 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
52 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
53 echo % patch file contents |
10397
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
54 catpatch .hg/patches/mqbase | \ |
3136
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
55 sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
56 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
57 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
58 echo % qrefresh . in subdir |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
59 ( cd 1 ; hg qrefresh . ) |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
60 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
61 echo % qdiff |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
62 hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
63 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
64 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
65 echo % qdiff dirname |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
66 hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
67 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
68 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
69 echo % patch file contents |
10397
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
70 catpatch .hg/patches/mqbase | \ |
3136
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
71 sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
72 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
73 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
74 echo % qrefresh in hg-root again |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
75 hg qrefresh |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
76 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
77 echo % qdiff |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
78 hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
79 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
80 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
81 echo % qdiff dirname |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
82 hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
83 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
84 |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
85 echo % patch file contents |
10397
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
86 catpatch .hg/patches/mqbase | \ |
3136
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
87 sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f01efb4bc258
tests: add new test; test-mq-qrefresh
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff
changeset
|
88 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
7113
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
89 |
7177
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
90 echo |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
91 echo % qrefresh --short tests: |
7113
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
92 echo 'orphan' > orphanchild |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
93 hg add orphanchild |
7177
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
94 |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
95 echo % - add 1/base and 2/base one by one |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
96 hg qrefresh nonexistingfilename # clear patch |
7113
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
97 hg qrefresh --short 1/base |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
98 hg qrefresh --short 2/base |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
99 |
7177
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
100 echo % -- qdiff output |
7113
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
101 hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
102 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
103 |
7177
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
104 echo % -- patch file content |
10397
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
105 catpatch .hg/patches/mqbase | \ |
7113
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
106 sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
107 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |
7177
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
108 hg st |
7113
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
109 |
7177
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
110 echo % -- diff shows what is not in patch |
7113
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
111 hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
112 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" \ |
f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
Mads Kiilerich <mads@kiilerich.com>
parents:
6801
diff
changeset
|
113 -e "s/^\(diff\).*/\1/" |
7177
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
114 echo % - before starting exclusive tests |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
115 sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
116 echo % - exclude 2/base |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
117 hg qref -s -X 2/base |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
118 sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
119 echo % -- status shows 2/base as dirty |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
120 hg st |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
121 echo % - remove 1/base and add 2/base again but not orphanchild |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
122 hg qref -s -X orphanchild -X 1/base 2/base orphanchild |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
123 sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
124 echo % - add 1/base with include filter - and thus remove 2/base from patch |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
125 hg qref -s -I 1/ o* */* |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
126 sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase |
09ed32b79656
mq: Fix --qrefresh --short to work with --exclude and --include
Mads Kiilerich <mads@kiilerich.com>
parents:
7113
diff
changeset
|
127 echo |
6801
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
128 cd .. |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
129 |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
130 # Test qrefresh --git losing copy metadata |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
131 echo % create test repo |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
132 hg init repo |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
133 cd repo |
7566
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
134 echo "[diff]" >> .hg/hgrc |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
135 echo "git=True" >> .hg/hgrc |
6801
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
136 echo a > a |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
137 hg ci -Am adda |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
138 hg copy a ab |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
139 echo b >> ab |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
140 hg copy a ac |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
141 echo c >> ac |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
142 echo % capture changes |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
143 hg qnew -f p1 |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
144 hg qdiff |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
145 echo % refresh and check changes again |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
146 hg qref |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
147 hg qdiff |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
148 cd .. |
71e339714586
mq: fix qrefresh losing copy information (issue 1134)
Patrick Mezard <pmezard@gmail.com>
parents:
3136
diff
changeset
|
149 |
7566
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
150 # Test issue 1441: qrefresh confused after hg rename |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
151 echo % issue1441 without git patches |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
152 hg init repo-1441 |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
153 cd repo-1441 |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
154 echo a > a |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
155 hg add a |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
156 hg qnew -f p |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
157 hg mv a b |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
158 hg qrefresh |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
159 hg qdiff --nodates |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
160 cd .. |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
161 |
10367
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
162 echo '% issue2025: qrefresh does not honor filtering options when tip != qtip' |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
163 hg init repo-2025 |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
164 cd repo-2025 |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
165 echo a > a |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
166 echo b > b |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
167 hg ci -qAm addab |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
168 echo a >> a |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
169 echo b >> b |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
170 hg qnew -f patch |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
171 hg up -qC 0 |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
172 echo c > c |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
173 hg ci -qAm addc |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
174 hg up -qC 1 |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
175 echo '% refresh with tip != qtip' |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
176 hg --config diff.nodates=1 qrefresh -I b 2>&1 \ |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
177 | sed 's/saving bundle.*/saving bundle.../g' |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
178 echo '% status after refresh' |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
179 hg st |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
180 echo '% b after refresh' |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
181 cat b |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
182 echo '% patch file after refresh' |
10397
8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents:
10368
diff
changeset
|
183 catpatch .hg/patches/patch |
10367
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
184 cd .. |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
185 |
b8801b58bbd8
test-mq-qrefresh: test qrefresh when tip != qtip
Patrick Mezard <pmezard@gmail.com>
parents:
7566
diff
changeset
|
186 |
7566
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
187 echo % issue1441 with git patches |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
188 hg init repo-1441-git |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
189 cd repo-1441-git |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
190 echo "[diff]" >> .hg/hgrc |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
191 echo "git=True" >> .hg/hgrc |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
192 echo a > a |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
193 hg add a |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
194 hg qnew -f p |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
195 hg mv a b |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
196 hg qrefresh |
5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Patrick Mezard <pmezard@gmail.com>
parents:
7177
diff
changeset
|
197 hg qdiff --nodates |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
7566
diff
changeset
|
198 cd .. |