author | Matt Mackall <mpm@selenic.com> |
Wed, 28 Mar 2012 19:24:11 -0500 | |
branch | stable |
changeset 16301 | de4cb5c42007 |
parent 15623 | fc8c7a5ccc4a |
child 16901 | 5b89700cce30 |
permissions | -rw-r--r-- |
15446
c5c9ca3719f9
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents:
15187
diff
changeset
|
1 |
$ "$TESTDIR/hghave" serve || exit 80 |
c5c9ca3719f9
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents:
15187
diff
changeset
|
2 |
|
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
3 |
setup repo |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13446
diff
changeset
|
4 |
$ hg init t |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
5 |
$ cd t |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
6 |
$ echo a > a |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
7 |
$ hg commit -Am'add a' |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
8 |
adding a |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
9 |
$ hg verify |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
10 |
checking changesets |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
11 |
checking manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
12 |
crosschecking files in changesets and manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
13 |
checking files |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
14 |
1 files, 1 changesets, 1 total revisions |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
15 |
$ hg parents |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
16 |
changeset: 0:1f0dee641bb7 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
17 |
tag: tip |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
18 |
user: test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
19 |
date: Thu Jan 01 00:00:00 1970 +0000 |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
20 |
summary: add a |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
21 |
|
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
22 |
|
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
23 |
rollback to null revision |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
24 |
$ hg status |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
25 |
$ hg rollback |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13185
diff
changeset
|
26 |
repository tip rolled back to revision -1 (undo commit) |
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13185
diff
changeset
|
27 |
working directory now based on revision -1 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
28 |
$ hg verify |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
29 |
checking changesets |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
30 |
checking manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
31 |
crosschecking files in changesets and manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
32 |
checking files |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
33 |
0 files, 0 changesets, 0 total revisions |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
34 |
$ hg parents |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
35 |
$ hg status |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
36 |
A a |
5814
dd5a501cb97f
restore branch after rollback (issue 902)
Alexandre Vassalotti <mercurial-bugs@selenic.com>
parents:
2227
diff
changeset
|
37 |
|
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
38 |
Two changesets this time so we rollback to a real changeset |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
39 |
$ hg commit -m'add a again' |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
40 |
$ echo a >> a |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
41 |
$ hg commit -m'modify a' |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
42 |
|
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
43 |
Test issue 902 (current branch is preserved) |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
44 |
$ hg branch test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
45 |
marked working directory as branch test |
15615 | 46 |
(branches are permanent and global, did you want a bookmark?) |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
47 |
$ hg rollback |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
48 |
repository tip rolled back to revision 0 (undo commit) |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
49 |
working directory now based on revision 0 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
50 |
$ hg branch |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
51 |
default |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
52 |
|
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
53 |
Test issue 1635 (commit message saved) |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
54 |
$ cat .hg/last-message.txt ; echo |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
55 |
modify a |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
56 |
|
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
57 |
Test rollback of hg before issue 902 was fixed |
9934
720f70b720d3
commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents:
6058
diff
changeset
|
58 |
|
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
59 |
$ hg commit -m "test3" |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
60 |
$ hg branch test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
61 |
marked working directory as branch test |
15615 | 62 |
(branches are permanent and global, did you want a bookmark?) |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
63 |
$ rm .hg/undo.branch |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
64 |
$ hg rollback |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
65 |
repository tip rolled back to revision 0 (undo commit) |
15130
3d44e68360a6
rollback: refactor for readability; cosmetics.
Greg Ward <greg@gerg.ca>
parents:
15108
diff
changeset
|
66 |
named branch could not be reset: current branch is still 'test' |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
67 |
working directory now based on revision 0 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
68 |
$ hg branch |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
69 |
test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
70 |
|
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
71 |
working dir unaffected by rollback: do not restore dirstate et. al. |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
72 |
$ hg log --template '{rev} {branch} {desc|firstline}\n' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
73 |
0 default add a again |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
74 |
$ hg status |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
75 |
M a |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
76 |
$ hg bookmark foo |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
77 |
$ hg commit -m'modify a again' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
78 |
$ echo b > b |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
79 |
$ hg commit -Am'add b' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
80 |
adding b |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
81 |
$ hg log --template '{rev} {branch} {desc|firstline}\n' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
82 |
2 test add b |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
83 |
1 test modify a again |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
84 |
0 default add a again |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
85 |
$ hg update default |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
86 |
1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
87 |
$ hg bookmark bar |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
88 |
$ cat .hg/undo.branch ; echo |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
89 |
test |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
90 |
$ hg rollback -f |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
91 |
repository tip rolled back to revision 1 (undo commit) |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
92 |
$ hg id -n |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
93 |
0 |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
94 |
$ hg branch |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
95 |
default |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
96 |
$ cat .hg/bookmarks.current ; echo |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
97 |
bar |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
98 |
$ hg bookmark --delete foo |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
99 |
|
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
100 |
rollback by pretxncommit saves commit message (issue 1635) |
9934
720f70b720d3
commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents:
6058
diff
changeset
|
101 |
|
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
102 |
$ echo a >> a |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
103 |
$ hg --config hooks.pretxncommit=false commit -m"precious commit message" |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
104 |
transaction abort! |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
105 |
rollback completed |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
106 |
abort: pretxncommit hook exited with status * (glob) |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
107 |
[255] |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
108 |
$ cat .hg/last-message.txt ; echo |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
109 |
precious commit message |
13185
c6e00dfcdcb8
tests: clean up test-rollback.t
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12642
diff
changeset
|
110 |
|
c6e00dfcdcb8
tests: clean up test-rollback.t
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12642
diff
changeset
|
111 |
same thing, but run $EDITOR |
c6e00dfcdcb8
tests: clean up test-rollback.t
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12642
diff
changeset
|
112 |
|
12642
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
113 |
$ cat > editor << '__EOF__' |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
114 |
> #!/bin/sh |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
115 |
> echo "another precious commit message" > "$1" |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
116 |
> __EOF__ |
12642
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
117 |
$ chmod +x editor |
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
118 |
$ HGEDITOR="'`pwd`'"/editor hg --config hooks.pretxncommit=false commit 2>&1 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
119 |
transaction abort! |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
120 |
rollback completed |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
121 |
note: commit message saved in .hg/last-message.txt |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
122 |
abort: pretxncommit hook exited with status * (glob) |
12642
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
123 |
[255] |
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
124 |
$ cat .hg/last-message.txt |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
125 |
another precious commit message |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
126 |
|
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
127 |
test rollback on served repository |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
128 |
|
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
129 |
$ hg commit -m "precious commit message" |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
130 |
$ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
131 |
$ cat hg.pid >> $DAEMON_PIDS |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
132 |
$ cd .. |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
133 |
$ hg clone http://localhost:$HGPORT u |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
134 |
requesting all changes |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
135 |
adding changesets |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
136 |
adding manifests |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
137 |
adding file changes |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
138 |
added 3 changesets with 2 changes to 1 files (+1 heads) |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
139 |
updating to branch default |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
140 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
141 |
$ cd u |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
142 |
$ hg id default |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
143 |
068774709090 |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
144 |
|
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
145 |
now rollback and observe that 'hg serve' reloads the repository and |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
146 |
presents the correct tip changeset: |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
147 |
|
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
148 |
$ hg -R ../t rollback |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
149 |
repository tip rolled back to revision 1 (undo commit) |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
150 |
working directory now based on revision 0 |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
151 |
$ hg id default |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
152 |
791dd2169706 |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
153 |
|
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
154 |
update to older changeset and then refuse rollback, because |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
155 |
that would lose data (issue2998) |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
156 |
$ cd ../t |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
157 |
$ hg -q update |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
158 |
$ rm `hg status -un` |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
159 |
$ template='{rev}:{node|short} [{branch}] {desc|firstline}\n' |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
160 |
$ echo 'valuable new file' > b |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
161 |
$ echo 'valuable modification' >> a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
162 |
$ hg commit -A -m'a valuable change' |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
163 |
adding b |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
164 |
$ hg update 0 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
165 |
1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
166 |
$ hg rollback |
15187
0292f88d3b86
rollback: use a hint for force
Matt Mackall <mpm@selenic.com>
parents:
15183
diff
changeset
|
167 |
abort: rollback of last commit while not checked out may lose data |
0292f88d3b86
rollback: use a hint for force
Matt Mackall <mpm@selenic.com>
parents:
15183
diff
changeset
|
168 |
(use -f to force) |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
169 |
[255] |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
170 |
$ hg tip -q |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
171 |
2:4d9cd3795eea |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
172 |
$ hg rollback -f |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
173 |
repository tip rolled back to revision 1 (undo commit) |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
174 |
$ hg status |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
175 |
$ hg log --removed b # yep, it's gone |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
176 |
|
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
177 |
same again, but emulate an old client that doesn't write undo.desc |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
178 |
$ hg -q update |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
179 |
$ echo 'valuable modification redux' >> a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
180 |
$ hg commit -m'a valuable change redux' |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
181 |
$ rm .hg/undo.desc |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
182 |
$ hg update 0 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
183 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
184 |
$ hg rollback |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
185 |
rolling back unknown transaction |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
186 |
$ cat a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
187 |
a |