Mercurial > hg-stable
annotate tests/test-export.t @ 26379:39d643252b9f
revlog: use existing file handle when reading during _addrevision
_addrevision() may need to read from revlogs as part of computing
deltas. Previously, we would flush existing file handles and open
a new, short-lived file handle to perform the reading.
If we have an existing file handle, it seems logical to reuse it
for reading instead of opening a new file handle. This patch
makes that the new behavior.
After this patch, revlog files are only reopened when adding
revisions if the revlog is switched from inline to non-inline.
On Linux when unbundling a bundle of the mozilla-central repo, this
patch has the following impact on system call counts:
Call Before After Delta
write 827,639 673,390 -154,249
open 700,103 684,089 -16,014
read 74,489 74,489 0
fstat 493,924 461,896 -32,028
close 249,131 233,117 -16,014
stat 242,001 242,001 0
lstat 18,676 18,676 0
lseek 20,268 20,268 0
ioctl 14,652 13,173 -1,479
TOTAL 3,180,758 2,930,679 -250,079
It's worth noting that many of the open() calls fail due to missing
files. That's why there are many more open() calls than close().
Despite the significant system call reduction, this change does not
seem to have a significant performance impact on Linux.
On Windows 10 (not a VM, on a SSD), this patch appears to reduce
unbundle time for mozilla-central from ~960s to ~920s. This isn't
as significant as I was hoping. But a decrease it is nonetheless.
Still, Windows unbundle performance is still >2x slower than Linux.
Despite the lack of significant gains, fewer system calls is fewer
system calls. If nothing else, this will narrow the focus of potential
areas to optimize in the future.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 27 Sep 2015 16:08:18 -0700 |
parents | e955549cd045 |
children | 9d04b4da6773 |
rev | line source |
---|---|
12034
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
1 $ hg init repo |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
2 $ cd repo |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
3 $ touch foo |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
4 $ hg add foo |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
5 $ for i in 0 1 2 3 4 5 6 7 8 9 10 11; do |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
6 > echo "foo-$i" >> foo |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
7 > hg ci -m "foo-$i" |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
8 > done |
3899
504dee0abeac
Make sequence number on hg export start at 1 (as documented for %n). Add test.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
9 |
14986
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
10 $ for out in "%nof%N" "%%%H" "%b-%R" "%h" "%r" "%m"; do |
12034
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
11 > echo |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
12 > echo "# foo-$out.patch" |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
13 > hg export -v -o "foo-$out.patch" 2:tip |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
14 > done |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
15 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
16 # foo-%nof%N.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
17 exporting patches: |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
18 foo-01of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
19 foo-02of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
20 foo-03of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
21 foo-04of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
22 foo-05of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
23 foo-06of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
24 foo-07of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
25 foo-08of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
26 foo-09of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
27 foo-10of10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
28 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
29 # foo-%%%H.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
30 exporting patches: |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
31 foo-%617188a1c80f869a7b66c85134da88a6fb145f67.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
32 foo-%dd41a5ff707a5225204105611ba49cc5c229d55f.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
33 foo-%f95a5410f8664b6e1490a4af654e4b7d41a7b321.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
34 foo-%4346bcfde53b4d9042489078bcfa9c3e28201db2.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
35 foo-%afda8c3a009cc99449a05ad8aa4655648c4ecd34.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
36 foo-%35284ce2b6b99c9d2ac66268fe99e68e1974e1aa.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
37 foo-%9688c41894e6931305fa7165a37f6568050b4e9b.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
38 foo-%747d3c68f8ec44bb35816bfcd59aeb50b9654c2f.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
39 foo-%5f17a83f5fbd9414006a5e563eab4c8a00729efd.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
40 foo-%f3acbafac161ec68f1598af38f794f28847ca5d3.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
41 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
42 # foo-%b-%R.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
43 exporting patches: |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
44 foo-repo-2.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
45 foo-repo-3.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
46 foo-repo-4.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
47 foo-repo-5.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
48 foo-repo-6.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
49 foo-repo-7.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
50 foo-repo-8.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
51 foo-repo-9.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
52 foo-repo-10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
53 foo-repo-11.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
54 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
55 # foo-%h.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
56 exporting patches: |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
57 foo-617188a1c80f.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
58 foo-dd41a5ff707a.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
59 foo-f95a5410f866.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
60 foo-4346bcfde53b.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
61 foo-afda8c3a009c.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
62 foo-35284ce2b6b9.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
63 foo-9688c41894e6.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
64 foo-747d3c68f8ec.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
65 foo-5f17a83f5fbd.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
66 foo-f3acbafac161.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
67 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
68 # foo-%r.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
69 exporting patches: |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
70 foo-02.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
71 foo-03.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
72 foo-04.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
73 foo-05.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
74 foo-06.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
75 foo-07.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
76 foo-08.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
77 foo-09.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
78 foo-10.patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
79 foo-11.patch |
14986
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
80 |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
81 # foo-%m.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
82 exporting patches: |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
83 foo-foo_2.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
84 foo-foo_3.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
85 foo-foo_4.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
86 foo-foo_5.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
87 foo-foo_6.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
88 foo-foo_7.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
89 foo-foo_8.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
90 foo-foo_9.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
91 foo-foo_10.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
92 foo-foo_11.patch |
7319
eae1767cc6a8
export: fixed silent output file overwriting
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
3899
diff
changeset
|
93 |
18613
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
94 Doing it again clobbers the files rather than appending: |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
95 $ hg export -v -o "foo-%m.patch" 2:3 |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
96 exporting patches: |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
97 foo-foo_2.patch |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
98 foo-foo_3.patch |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
99 $ grep HG foo-foo_2.patch | wc -l |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
100 \s*1 (re) |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
101 $ grep HG foo-foo_3.patch | wc -l |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
102 \s*1 (re) |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
103 |
12034
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
104 Exporting 4 changesets to a file: |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
105 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
106 $ hg export -o export_internal 1 2 3 4 |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12034
diff
changeset
|
107 $ grep HG export_internal | wc -l |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12366
diff
changeset
|
108 \s*4 (re) |
12034
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
109 |
18613
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
110 Doing it again clobbers the file rather than appending: |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
111 $ hg export -o export_internal 1 2 3 4 |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
112 $ grep HG export_internal | wc -l |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
113 \s*4 (re) |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
114 |
1a2f4c633410
export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com>
parents:
17460
diff
changeset
|
115 Exporting 4 changesets to stdout: |
12034
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
116 |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12034
diff
changeset
|
117 $ hg export 1 2 3 4 | grep HG | wc -l |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12366
diff
changeset
|
118 \s*4 (re) |
12034
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
119 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
120 Exporting revision -2 to a file: |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
121 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
122 $ hg export -- -2 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
123 # HG changeset patch |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
124 # User test |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
125 # Date 0 0 |
18648
76b69cccb07a
export: show 'Date' header in a format that also is readable for humans
Mads Kiilerich <mads@kiilerich.com>
parents:
18613
diff
changeset
|
126 # Thu Jan 01 00:00:00 1970 +0000 |
12034
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
127 # Node ID 5f17a83f5fbd9414006a5e563eab4c8a00729efd |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
128 # Parent 747d3c68f8ec44bb35816bfcd59aeb50b9654c2f |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
129 foo-10 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
130 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
131 diff -r 747d3c68f8ec -r 5f17a83f5fbd foo |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
132 --- a/foo Thu Jan 01 00:00:00 1970 +0000 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
133 +++ b/foo Thu Jan 01 00:00:00 1970 +0000 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
134 @@ -8,3 +8,4 @@ |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
135 foo-7 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
136 foo-8 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
137 foo-9 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
138 +foo-10 |
3bfd425f1472
tests: unify test-export
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
139 |
14986
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
140 Checking if only alphanumeric characters are used in the file name (%m option): |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
141 |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
142 $ echo "line" >> foo |
17345
4f8054d3171b
check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
143 $ hg commit -m " !\"#$%&(,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~" |
14986
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
144 $ hg export -v -o %m.patch tip |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
145 exporting patch: |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
146 ____________0123456789_______ABCDEFGHIJKLMNOPQRSTUVWXYZ______abcdefghijklmnopqrstuvwxyz____.patch |
70e11de6964d
export: add %m to file format string (first line of the commit message)
Andrzej Bieniek <andyhelp@gmail.com>
parents:
12377
diff
changeset
|
147 |
16357
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
148 Catch exporting unknown revisions (especially empty revsets, see issue3353) |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
149 |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
150 $ hg export |
18956
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
151 # HG changeset patch |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
152 # User test |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
153 # Date 0 0 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
154 # Thu Jan 01 00:00:00 1970 +0000 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
155 # Node ID 197ecd81a57f760b54f34a58817ad5b04991fa47 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
156 # Parent f3acbafac161ec68f1598af38f794f28847ca5d3 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
157 !"#$%&(,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
158 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
159 diff -r f3acbafac161 -r 197ecd81a57f foo |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
160 --- a/foo Thu Jan 01 00:00:00 1970 +0000 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
161 +++ b/foo Thu Jan 01 00:00:00 1970 +0000 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
162 @@ -10,3 +10,4 @@ |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
163 foo-9 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
164 foo-10 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
165 foo-11 |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
166 +line |
1a9ad84583ee
export: export working directory parent by default
Mads Kiilerich <mads@kiilerich.com>
parents:
18648
diff
changeset
|
167 |
16357
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
168 $ hg export "" |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
169 hg: parse error: empty query |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
170 [255] |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
171 $ hg export 999 |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
172 abort: unknown revision '999'! |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
173 [255] |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
174 $ hg export "not all()" |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
175 abort: export requires at least one changeset |
8ca7187d479f
export: catch exporting empty revsets (issue3353)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14986
diff
changeset
|
176 [255] |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16357
diff
changeset
|
177 |
17460
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
178 Check for color output |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
18956
diff
changeset
|
179 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
18956
diff
changeset
|
180 > [color] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
18956
diff
changeset
|
181 > mode = ansi |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
18956
diff
changeset
|
182 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
18956
diff
changeset
|
183 > color = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
18956
diff
changeset
|
184 > EOF |
17460
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
185 |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
186 $ hg export --color always --nodates tip |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
187 # HG changeset patch |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
188 # User test |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
189 # Date 0 0 |
18648
76b69cccb07a
export: show 'Date' header in a format that also is readable for humans
Mads Kiilerich <mads@kiilerich.com>
parents:
18613
diff
changeset
|
190 # Thu Jan 01 00:00:00 1970 +0000 |
17460
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
191 # Node ID * (glob) |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
192 # Parent * (glob) |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
193 !"#$%&(,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
194 |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
195 \x1b[0;1mdiff -r f3acbafac161 -r 197ecd81a57f foo\x1b[0m (esc) |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
196 \x1b[0;31;1m--- a/foo\x1b[0m (esc) |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
197 \x1b[0;32;1m+++ b/foo\x1b[0m (esc) |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
198 \x1b[0;35m@@ -10,3 +10,4 @@\x1b[0m (esc) |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
199 foo-9 |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
200 foo-10 |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
201 foo-11 |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
202 \x1b[0;32m+line\x1b[0m (esc) |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
203 |
a306837f8c87
color: enabled color support for export command (issue1507)
Ankur Dahiya <ankurd@fb.com>
parents:
17345
diff
changeset
|
204 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16357
diff
changeset
|
205 $ cd .. |