##// END OF EJS Templates
debian: switch to using debhelper and dh_python2 to build debs...
debian: switch to using debhelper and dh_python2 to build debs This is a much larger commit than I'd like, but I honestly don't see a good way to break it up and leave things working. Summary: We now use debian/rules with debhelper to build our debs. This is much more standard, and means we use dh_python2 to do things like handle leaving .pyc files out of the built debs. The resulting package is split into mercurial and mercurial-common, with the former being the hg stub and all the native .sos, and the latter being basically everything else. builddeb and dockerdeb are updated to use the new system. The old way (using dpkg by hand) breaks with the above changes because debian/control no longer contains a version string (that's now guessed from the phony changelog.) Tests are updated to assert that the right files end up in the right debs.

File last commit:

r25744:e78a80f8 default
r26148:7f49efca default
Show More
test-rollback.t
198 lines | 5.3 KiB | text/troff | Tads3Lexer
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 setup repo
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Matt Mackall
tests: unify test-rollback
r12485 $ cd t
$ echo a > a
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 $ hg commit -Am'add a'
adding a
Matt Mackall
tests: unify test-rollback
r12485 $ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
$ hg parents
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 changeset: 0:1f0dee641bb7
Matt Mackall
tests: unify test-rollback
r12485 tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 summary: add a
Matt Mackall
tests: unify test-rollback
r12485
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108
rollback to null revision
Matt Mackall
tests: unify test-rollback
r12485 $ hg status
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision -1 (undo commit)
working directory now based on revision -1
Matt Mackall
tests: unify test-rollback
r12485 $ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
$ hg parents
$ hg status
A a
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 Two changesets this time so we rollback to a real changeset
$ hg commit -m'add a again'
$ echo a >> a
$ hg commit -m'modify a'
Matt Mackall
tests: unify test-rollback
r12485
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 Test issue 902 (current branch is preserved)
Matt Mackall
tests: unify test-rollback
r12485 $ hg branch test
marked working directory as branch test
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Matt Mackall
tests: unify test-rollback
r12485 $ hg rollback
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 repository tip rolled back to revision 0 (undo commit)
working directory now based on revision 0
Matt Mackall
tests: unify test-rollback
r12485 $ hg branch
default
Test issue 1635 (commit message saved)
$ cat .hg/last-message.txt ; echo
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 modify a
Matt Mackall
tests: unify test-rollback
r12485
Test rollback of hg before issue 902 was fixed
$ hg commit -m "test3"
$ hg branch test
marked working directory as branch test
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Matt Mackall
tests: unify test-rollback
r12485 $ rm .hg/undo.branch
$ hg rollback
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 repository tip rolled back to revision 0 (undo commit)
Greg Ward
rollback: refactor for readability; cosmetics....
r15130 named branch could not be reset: current branch is still 'test'
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 working directory now based on revision 0
Matt Mackall
tests: unify test-rollback
r12485 $ hg branch
test
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 working dir unaffected by rollback: do not restore dirstate et. al.
$ hg log --template '{rev} {branch} {desc|firstline}\n'
0 default add a again
$ hg status
M a
$ hg bookmark foo
$ hg commit -m'modify a again'
$ echo b > b
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 $ hg bookmark bar -r default #making bar active, before the transaction
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 $ hg commit -Am'add b'
adding b
$ hg log --template '{rev} {branch} {desc|firstline}\n'
2 test add b
1 test modify a again
0 default add a again
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 $ hg update bar
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 (activating bookmark bar)
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 $ cat .hg/undo.branch ; echo
test
Greg Ward
rollback: avoid unsafe rollback when not at tip (issue2998)...
r15183 $ hg rollback -f
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 repository tip rolled back to revision 1 (undo commit)
$ hg id -n
0
$ hg branch
default
$ cat .hg/bookmarks.current ; echo
bar
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 $ hg bookmark --delete foo bar
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131
Matt Mackall
tests: fixup issue markers to make check-commit happy
r22183 rollback by pretxncommit saves commit message (issue1635)
Matt Mackall
tests: unify test-rollback
r12485
$ echo a >> a
$ hg --config hooks.pretxncommit=false commit -m"precious commit message"
transaction abort!
rollback completed
abort: pretxncommit hook exited with status * (glob)
[255]
$ cat .hg/last-message.txt ; echo
precious commit message
Nicolas Dumazet
tests: clean up test-rollback.t...
r13185
same thing, but run $EDITOR
Mads Kiilerich
tests: consistently use a HGEDITOR pattern that works with msys on windows...
r16901 $ cat > editor.sh << '__EOF__'
Matt Mackall
tests: unify test-rollback
r12485 > echo "another precious commit message" > "$1"
> __EOF__
Mads Kiilerich
tests: consistently use a HGEDITOR pattern that works with msys on windows...
r16901 $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg --config hooks.pretxncommit=false commit 2>&1
Matt Mackall
tests: unify test-rollback
r12485 transaction abort!
rollback completed
note: commit message saved in .hg/last-message.txt
abort: pretxncommit hook exited with status * (glob)
Mads Kiilerich
tests: remove the last traces of $HGTMP...
r12642 [255]
$ cat .hg/last-message.txt
Matt Mackall
tests: unify test-rollback
r12485 another precious commit message
Martin Geisler
hgweb: detect change based on changelog size too...
r13958 test rollback on served repository
Adrian Buehlmann
test-rollback: enable for Windows...
r16916 #if serve
Martin Geisler
hgweb: detect change based on changelog size too...
r13958 $ hg commit -m "precious commit message"
$ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
$ cd ..
$ hg clone http://localhost:$HGPORT u
requesting all changes
adding changesets
adding manifests
adding file changes
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 added 3 changesets with 2 changes to 1 files (+1 heads)
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 updating to branch default
Martin Geisler
hgweb: detect change based on changelog size too...
r13958 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd u
$ hg id default
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 068774709090
Martin Geisler
hgweb: detect change based on changelog size too...
r13958
now rollback and observe that 'hg serve' reloads the repository and
presents the correct tip changeset:
$ hg -R ../t rollback
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 repository tip rolled back to revision 1 (undo commit)
Greg Ward
test-rollback: tinker a bit to make it easier to add more tests.
r15108 working directory now based on revision 0
Martin Geisler
hgweb: detect change based on changelog size too...
r13958 $ hg id default
Greg Ward
rollback: only restore dirstate and branch when appropriate....
r15131 791dd2169706
Adrian Buehlmann
test-rollback: enable for Windows...
r16916 #endif
Greg Ward
rollback: avoid unsafe rollback when not at tip (issue2998)...
r15183
update to older changeset and then refuse rollback, because
that would lose data (issue2998)
$ cd ../t
$ hg -q update
$ rm `hg status -un`
$ template='{rev}:{node|short} [{branch}] {desc|firstline}\n'
$ echo 'valuable new file' > b
$ echo 'valuable modification' >> a
$ hg commit -A -m'a valuable change'
adding b
$ hg update 0
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg rollback
Matt Mackall
rollback: use a hint for force
r15187 abort: rollback of last commit while not checked out may lose data
(use -f to force)
Greg Ward
rollback: avoid unsafe rollback when not at tip (issue2998)...
r15183 [255]
$ hg tip -q
2:4d9cd3795eea
$ hg rollback -f
repository tip rolled back to revision 1 (undo commit)
$ hg status
$ hg log --removed b # yep, it's gone
same again, but emulate an old client that doesn't write undo.desc
$ hg -q update
$ echo 'valuable modification redux' >> a
$ hg commit -m'a valuable change redux'
$ rm .hg/undo.desc
$ hg update 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg rollback
rolling back unknown transaction
$ cat a
a
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Matt Mackall
journal: report parsing errors on recover/rollback (issue4172)
r20524 corrupt journal test
$ echo "foo" > .hg/store/journal
$ hg recover
rolling back interrupted transaction
couldn't read journal entry 'foo\n'!
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 2 changesets, 2 total revisions