annotate tests/test-journal.t @ 30706:2e4862646f02

repair: speed up stripping of many roots repair.strip() expects a set of root revisions to strip. It then builds the full set of descedants by walking the descandants of each. It is rare that more than a few roots get passed in, but if that happens, it will wastefully walk the changelog for each root. So let's just walk it once. I noticed this because the narrowhg extension was passing not only roots, but all the commits to strip. When there were tens of thousands of commits to strip, this resulted in quadratic behavior with that extension.
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 04 Jan 2017 10:07:12 -0800
parents 6d11ae3c4c4b
children c6061cadb400
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
1 Tests for the journal extension; records bookmark locations.
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
2
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
3 $ cat >> testmocks.py << EOF
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
4 > # mock out util.getuser() and util.makedate() to supply testable values
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
5 > import os
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
6 > from mercurial import util
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
7 > def mockgetuser():
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
8 > return 'foobar'
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
9 >
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
10 > def mockmakedate():
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
11 > filename = os.path.join(os.environ['TESTTMP'], 'testtime')
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
12 > try:
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
13 > with open(filename, 'rb') as timef:
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
14 > time = float(timef.read()) + 1
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
15 > except IOError:
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
16 > time = 0.0
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
17 > with open(filename, 'wb') as timef:
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
18 > timef.write(str(time))
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
19 > return (time, 0)
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
20 >
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
21 > util.getuser = mockgetuser
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
22 > util.makedate = mockmakedate
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
23 > EOF
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
24
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
25 $ cat >> $HGRCPATH << EOF
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
26 > [extensions]
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
27 > journal=
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
28 > testmocks=`pwd`/testmocks.py
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
29 > EOF
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
30
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
31 Setup repo
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
32
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
33 $ hg init repo
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
34 $ cd repo
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
35
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
36 Test empty journal
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
37
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
38 $ hg journal
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
39 previous locations of '.':
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
40 no recorded locations
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
41 $ hg journal foo
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
42 previous locations of 'foo':
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
43 no recorded locations
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
44
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
45 Test that working copy changes are tracked
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
46
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
47 $ echo a > a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
48 $ hg commit -Aqm a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
49 $ hg journal
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
50 previous locations of '.':
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
51 cb9a9f314b8b commit -Aqm a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
52 $ echo b > a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
53 $ hg commit -Aqm b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
54 $ hg journal
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
55 previous locations of '.':
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
56 1e6c11564562 commit -Aqm b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
57 cb9a9f314b8b commit -Aqm a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
58 $ hg up 0
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
59 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
60 $ hg journal
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
61 previous locations of '.':
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
62 cb9a9f314b8b up 0
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
63 1e6c11564562 commit -Aqm b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
64 cb9a9f314b8b commit -Aqm a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
65
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
66 Test that bookmarks are tracked
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
67
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
68 $ hg book -r tip bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
69 $ hg journal bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
70 previous locations of 'bar':
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
71 1e6c11564562 book -r tip bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
72 $ hg book -f bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
73 $ hg journal bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
74 previous locations of 'bar':
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
75 cb9a9f314b8b book -f bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
76 1e6c11564562 book -r tip bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
77 $ hg up
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
78 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
79 updating bookmark bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
80 $ hg journal bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
81 previous locations of 'bar':
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
82 1e6c11564562 up
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
83 cb9a9f314b8b book -f bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
84 1e6c11564562 book -r tip bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
85
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
86 Test that bookmarks and working copy tracking is not mixed
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
87
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
88 $ hg journal
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
89 previous locations of '.':
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
90 1e6c11564562 up
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
91 cb9a9f314b8b up 0
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
92 1e6c11564562 commit -Aqm b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
93 cb9a9f314b8b commit -Aqm a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
94
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
95 Test that you can list all entries as well as limit the list or filter on them
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
96
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
97 $ hg book -r tip baz
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
98 $ hg journal --all
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
99 previous locations of the working copy and bookmarks:
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
100 1e6c11564562 baz book -r tip baz
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
101 1e6c11564562 bar up
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
102 1e6c11564562 . up
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
103 cb9a9f314b8b bar book -f bar
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
104 1e6c11564562 bar book -r tip bar
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
105 cb9a9f314b8b . up 0
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
106 1e6c11564562 . commit -Aqm b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
107 cb9a9f314b8b . commit -Aqm a
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
108 $ hg journal --limit 2
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
109 previous locations of '.':
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
110 1e6c11564562 up
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
111 cb9a9f314b8b up 0
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
112 $ hg journal bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
113 previous locations of 'bar':
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
114 1e6c11564562 up
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
115 cb9a9f314b8b book -f bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
116 1e6c11564562 book -r tip bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
117 $ hg journal foo
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
118 previous locations of 'foo':
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
119 no recorded locations
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
120 $ hg journal .
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
121 previous locations of '.':
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
122 1e6c11564562 up
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
123 cb9a9f314b8b up 0
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
124 1e6c11564562 commit -Aqm b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
125 cb9a9f314b8b commit -Aqm a
29504
7503d8874617 journal: add support for seaching by pattern
Martijn Pieters <mjpieters@fb.com>
parents: 29502
diff changeset
126 $ hg journal "re:ba."
7503d8874617 journal: add support for seaching by pattern
Martijn Pieters <mjpieters@fb.com>
parents: 29502
diff changeset
127 previous locations of 're:ba.':
7503d8874617 journal: add support for seaching by pattern
Martijn Pieters <mjpieters@fb.com>
parents: 29502
diff changeset
128 1e6c11564562 baz book -r tip baz
7503d8874617 journal: add support for seaching by pattern
Martijn Pieters <mjpieters@fb.com>
parents: 29502
diff changeset
129 1e6c11564562 bar up
7503d8874617 journal: add support for seaching by pattern
Martijn Pieters <mjpieters@fb.com>
parents: 29502
diff changeset
130 cb9a9f314b8b bar book -f bar
7503d8874617 journal: add support for seaching by pattern
Martijn Pieters <mjpieters@fb.com>
parents: 29502
diff changeset
131 1e6c11564562 bar book -r tip bar
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
132
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
133 Test that verbose, JSON, template and commit output work
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
134
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
135 $ hg journal --verbose --all
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
136 previous locations of the working copy and bookmarks:
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
137 000000000000 -> 1e6c11564562 foobar baz 1970-01-01 00:00 +0000 book -r tip baz
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
138 cb9a9f314b8b -> 1e6c11564562 foobar bar 1970-01-01 00:00 +0000 up
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
139 cb9a9f314b8b -> 1e6c11564562 foobar . 1970-01-01 00:00 +0000 up
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
140 1e6c11564562 -> cb9a9f314b8b foobar bar 1970-01-01 00:00 +0000 book -f bar
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
141 000000000000 -> 1e6c11564562 foobar bar 1970-01-01 00:00 +0000 book -r tip bar
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
142 1e6c11564562 -> cb9a9f314b8b foobar . 1970-01-01 00:00 +0000 up 0
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
143 cb9a9f314b8b -> 1e6c11564562 foobar . 1970-01-01 00:00 +0000 commit -Aqm b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
144 000000000000 -> cb9a9f314b8b foobar . 1970-01-01 00:00 +0000 commit -Aqm a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
145 $ hg journal --verbose -Tjson
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
146 [
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
147 {
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
148 "command": "up",
29679
e54bdd3aa23b journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29677
diff changeset
149 "date": [5.0, 0],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
150 "name": ".",
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
151 "newhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"],
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
152 "oldhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
153 "user": "foobar"
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
154 },
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
155 {
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
156 "command": "up 0",
29679
e54bdd3aa23b journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29677
diff changeset
157 "date": [2.0, 0],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
158 "name": ".",
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
159 "newhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
160 "oldhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
161 "user": "foobar"
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
162 },
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
163 {
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
164 "command": "commit -Aqm b",
29679
e54bdd3aa23b journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29677
diff changeset
165 "date": [1.0, 0],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
166 "name": ".",
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
167 "newhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"],
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
168 "oldhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
169 "user": "foobar"
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
170 },
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
171 {
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
172 "command": "commit -Aqm a",
29679
e54bdd3aa23b journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29677
diff changeset
173 "date": [0.0, 0],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
174 "name": ".",
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
175 "newhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
176 "oldhashes": ["0000000000000000000000000000000000000000"],
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
177 "user": "foobar"
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
178 }
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
179 ]
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
180
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
181 $ cat <<EOF >> $HGRCPATH
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
182 > [templates]
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
183 > j = "{oldhashes % '{node|upper}'} -> {newhashes % '{node|upper}'}
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
184 > - user: {user}
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
185 > - command: {command}
29679
e54bdd3aa23b journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29677
diff changeset
186 > - date: {date|rfc3339date}
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
187 > - newhashes: {newhashes}
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
188 > - oldhashes: {oldhashes}
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
189 > "
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
190 > EOF
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
191 $ hg journal -Tj -l1
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
192 previous locations of '.':
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
193 CB9A9F314B8B07BA71012FCDBC544B5A4D82FF5B -> 1E6C11564562B4ED919BACA798BC4338BD299D6A
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
194 - user: foobar
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
195 - command: up
29679
e54bdd3aa23b journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29677
diff changeset
196 - date: 1970-01-01T00:00:05+00:00
29677
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
197 - newhashes: 1e6c11564562b4ed919baca798bc4338bd299d6a
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
198 - oldhashes: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
69890b5dd32b journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29675
diff changeset
199
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
200 $ hg journal --commit
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
201 previous locations of '.':
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
202 1e6c11564562 up
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
203 changeset: 1:1e6c11564562
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
204 bookmark: bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
205 bookmark: baz
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
206 tag: tip
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
207 user: test
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
208 date: Thu Jan 01 00:00:00 1970 +0000
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
209 summary: b
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
210
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
211 cb9a9f314b8b up 0
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
212 changeset: 0:cb9a9f314b8b
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
213 user: test
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
214 date: Thu Jan 01 00:00:00 1970 +0000
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
215 summary: a
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
216
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
217 1e6c11564562 commit -Aqm b
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
218 changeset: 1:1e6c11564562
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
219 bookmark: bar
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
220 bookmark: baz
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
221 tag: tip
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
222 user: test
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
223 date: Thu Jan 01 00:00:00 1970 +0000
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
224 summary: b
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
225
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
226 cb9a9f314b8b commit -Aqm a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
227 changeset: 0:cb9a9f314b8b
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
228 user: test
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
229 date: Thu Jan 01 00:00:00 1970 +0000
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
230 summary: a
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
231
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
232
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
233 Test for behaviour on unexpected storage version information
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
234
29870
6d11ae3c4c4b journal: rename on disk files to 'namejournal'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29679
diff changeset
235 $ printf '42\0' > .hg/namejournal
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
236 $ hg journal
29502
8361131b4768 journal: add dirstate tracking
Martijn Pieters <mjpieters@fb.com>
parents: 29443
diff changeset
237 previous locations of '.':
29443
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
238 abort: unknown journal file version '42'
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
239 [255]
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
240 $ hg book -r tip doomed
cf092a3d202a journal: new experimental extension
Martijn Pieters <mjpieters@fb.com>
parents:
diff changeset
241 unsupported journal file version '42'