Mercurial > hg
annotate tests/test-debugcommands.t @ 23923:ab6fd3205dad stable
largefiles: fix commit of a directory with no largefile changes (issue4330)
When a directory is named in the commit file list, the previous behavior was to
walk the list, and if no normal files in the directory were also named, add the
corresponding standin for each largefile in that directory. The directory is
then dropped from the list, so that committing a directory with no normal file
changes works. It then added the corresponding standin directory for the first
largefile seen, by prefixing it with '.hglf/'.
The latter is unnecessary since each affected largefile is explicitly referenced
by its standin in the list. It also caused an abort if there were no changed
largefiles in the directory, because none of its standins changed:
abort: .hglf/foo/bar: no match under directory!
This list of files is used to tweak a matcher in lfutil.updatestandinsbymatch(),
which is what is passed to commit().
The status() call that is ultimately done in the commit code with this matcher
seems to have some OS specific differences. It is not necessary to append '.'
for Windows to run the largefiles tests cleanly. But if '.' is not added to the
list, the match function isn't called on Linux, so status() would miss any
normal files that were also in a named directory. The commit then proceeds
without those normal files, or says "nothing changed" if there were no changed
largefiles in the directory. This is not filesystem specific, as VFAT on Linux
had the same behavior as when run on ext4. It is also not an issue with
lfilesrepo.status(), since that only calls the overridden implementation when
paths are passed to commit. I dont have access to an OS X machine ATM to test
there.
Maybe there's a better way to do this. But since the standin directory for the
first largefile was previously being added, and that caused the same walk in
status(), there's no preformance change to this. There is no danger of
erroneously committing files in '.', because the original match function is
called, and if it fails, the lfutil.updatestandinsbymatch() tweaked matcher only
indicates a match if the file is in the list of standins- and '.' never is. The
added tests confirm this.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 18 Jan 2015 15:15:40 -0500 |
parents | 21446f4d5c62 |
children | 944749de6f3a |
rev | line source |
---|---|
17188
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
1 $ hg init debugrevlog |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
2 $ cd debugrevlog |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
3 $ echo a > a |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
4 $ hg ci -Am adda |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
5 adding a |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
6 $ hg debugrevlog -m |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
7 format : 1 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
8 flags : inline |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
9 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
10 revisions : 1 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
11 merges : 0 ( 0.00%) |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
12 normal : 1 (100.00%) |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
13 revisions : 1 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
14 full : 1 (100.00%) |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
15 deltas : 0 ( 0.00%) |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
16 revision size : 44 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
17 full : 44 (100.00%) |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
18 deltas : 0 ( 0.00%) |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
19 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
20 avg chain length : 0 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
21 compression ratio : 0 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
22 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
23 uncompressed data size (min/max/avg) : 43 / 43 / 43 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
24 full revision size (min/max/avg) : 44 / 44 / 44 |
76e55914c303
debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
25 delta size (min/max/avg) : 0 / 0 / 0 |
20244
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
26 |
23547
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
27 Test debugindex, with and without the --debug flag |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
28 $ hg debugindex a |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
29 rev offset length .... linkrev nodeid p1 p2 (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
30 0 0 3 .... 0 b789fdd96dc2 000000000000 000000000000 (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
31 $ hg --debug debugindex a |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
32 rev offset length .... linkrev nodeid p1 p2 (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
33 0 0 3 .... 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
34 $ hg debugindex -f 1 a |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
35 rev flag offset length size .... link p1 p2 nodeid (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
36 0 0000 0 3 2 .... 0 -1 -1 b789fdd96dc2 (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
37 $ hg --debug debugindex -f 1 a |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
38 rev flag offset length size .... link p1 p2 nodeid (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
39 0 0000 0 3 2 .... 0 -1 -1 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 (re) |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
40 |
21446f4d5c62
debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents:
23256
diff
changeset
|
41 |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
42 Test max chain len |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
43 $ cat >> $HGRCPATH << EOF |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
44 > [format] |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
45 > maxchainlen=4 |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
46 > EOF |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
47 |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
48 $ printf "This test checks if maxchainlen config value is respected also it can serve as basic test for debugrevlog -d <file>.\n" >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
49 $ hg ci -m a |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
50 $ printf "b\n" >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
51 $ hg ci -m a |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
52 $ printf "c\n" >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
53 $ hg ci -m a |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
54 $ printf "d\n" >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
55 $ hg ci -m a |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
56 $ printf "e\n" >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
57 $ hg ci -m a |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
58 $ printf "f\n" >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
59 $ hg ci -m a |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
60 $ printf 'g\n' >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
61 $ hg ci -m a |
23256
1c11393d5dfb
localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents:
23255
diff
changeset
|
62 $ printf 'h\n' >> a |
23255
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
63 $ hg ci -m a |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
64 $ hg debugrevlog -d a |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
65 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
66 0 -1 -1 0 ??? 0 0 0 0 ??? ???? ? 1 0 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
67 1 0 -1 ??? ??? 0 0 0 0 ??? ???? ? 1 1 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
68 2 1 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
69 3 2 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
70 4 3 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 4 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
71 5 4 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 0 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
72 6 5 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 1 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
73 7 6 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
74 8 7 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob) |
76effa770ff9
revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents:
20543
diff
changeset
|
75 $ cd .. |
20244
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
76 |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
77 Test internal debugstacktrace command |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
78 |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
79 $ cat > debugstacktrace.py << EOF |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
80 > from mercurial.util import debugstacktrace, dst, sys |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
81 > def f(): |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
82 > dst('hello world') |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
83 > def g(): |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
84 > f() |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
85 > debugstacktrace(skip=-5, f=sys.stdout) |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
86 > g() |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
87 > EOF |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
88 $ python debugstacktrace.py |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
89 hello world at: |
20543
01df3660eb11
tests: backout a82de9dc4f77, debugstacktrace is now stable, drop workaround
Mads Kiilerich <madski@unity3d.com>
parents:
20382
diff
changeset
|
90 debugstacktrace.py:7 in * (glob) |
20244
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
91 debugstacktrace.py:5 in g |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
92 debugstacktrace.py:3 in f |
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
93 stacktrace at: |
20543
01df3660eb11
tests: backout a82de9dc4f77, debugstacktrace is now stable, drop workaround
Mads Kiilerich <madski@unity3d.com>
parents:
20382
diff
changeset
|
94 debugstacktrace.py:7 *in * (glob) |
01df3660eb11
tests: backout a82de9dc4f77, debugstacktrace is now stable, drop workaround
Mads Kiilerich <madski@unity3d.com>
parents:
20382
diff
changeset
|
95 debugstacktrace.py:6 *in g (glob) |
20244
47d0843647d1
util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents:
17188
diff
changeset
|
96 */util.py:* in debugstacktrace (glob) |