##// END OF EJS Templates
shelve: directly handle the initial parent alignment...
shelve: directly handle the initial parent alignment Shelve is currently sub-contracting some of its work to the rebase extension. In order to make shelve more independent and flexible we would like shelve to handle the parent alignment directly. After this change, we no longer need to use rebase in shelve. Differential Revision: https://phab.mercurial-scm.org/D3693

File last commit:

r37443:e1d4be95 default
r38637:c829749e default
Show More
test-repair-strip.t
139 lines | 3.9 KiB | text/troff | Tads3Lexer
/ tests / test-repair-strip.t
Gregory Szorc
tests: require revlog store with test-repair-strip.t...
r37443 #require unix-permissions no-root reporevlogstore
Patrick Mezard
test-repair-strip: turn into new style test
r14022
FUJIWARA Katsunori
tests: dump journal file by python script instead of sed for portability...
r27993 $ cat > $TESTTMP/dumpjournal.py <<EOF
> import sys
> for entry in sys.stdin.read().split('\n'):
> if entry:
Augie Fackler
tests: fix simple heredoc print statements to work on Py3...
r33686 > print(entry.split('\x00')[0])
FUJIWARA Katsunori
tests: dump journal file by python script instead of sed for portability...
r27993 > EOF
Patrick Mezard
test-repair-strip: turn into new style test
r14022 $ echo "[extensions]" >> $HGRCPATH
$ echo "mq=">> $HGRCPATH
$ teststrip() {
> hg -q up -C $1
> echo % before update $1, strip $2
> hg parents
> chmod -$3 $4
> hg strip $2 2>&1 | sed 's/\(bundle\).*/\1/' | sed 's/Permission denied.*\.hg\/store\/\(.*\)/Permission denied \.hg\/store\/\1/'
> echo % after update $1, strip $2
> chmod +$3 $4
> hg verify
> echo % journal contents
> if [ -f .hg/store/journal ]; then
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 > cat .hg/store/journal | $PYTHON $TESTTMP/dumpjournal.py
Patrick Mezard
test-repair-strip: turn into new style test
r14022 > else
> echo "(no journal)"
> fi
> ls .hg/store/journal >/dev/null 2>&1 && hg recover
> ls .hg/strip-backup/* >/dev/null 2>&1 && hg unbundle -q .hg/strip-backup/*
> rm -rf .hg/strip-backup
> }
$ hg init test
$ cd test
$ echo a > a
$ hg -q ci -m "a" -A
$ echo b > b
$ hg -q ci -m "b" -A
$ echo b2 >> b
$ hg -q ci -m "b2" -A
$ echo c > c
$ hg -q ci -m "c" -A
$ teststrip 0 2 w .hg/store/data/b.i
% before update 0, strip 2
changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
saved backup bundle
transaction abort!
failed to truncate data/b.i
rollback failed - please run hg recover
Martin von Zweigbergk
strip: don't use "full" and "partial" to describe bundles...
r29954 strip failed, backup bundle
Patrick Mezard
test-repair-strip: turn into new style test
r14022 abort: Permission denied .hg/store/data/b.i
% after update 0, strip 2
abandoned transaction found - run hg recover
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
b@?: rev 1 points to nonexistent changeset 2
(expected 1)
b@?: 736c29771fba not in manifests
Gregory Szorc
verify: drop "revlog" from warning message...
r37428 warning: orphan data file 'data/c.i'
Patrick Mezard
test-repair-strip: turn into new style test
r14022 2 files, 2 changesets, 3 total revisions
2 warnings encountered!
2 integrity errors encountered!
% journal contents
00changelog.i
00manifest.i
data/b.i
data/c.i
rolling back interrupted transaction
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 2 total revisions
$ teststrip 0 2 r .hg/store/data/b.i
% before update 0, strip 2
changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
abort: Permission denied .hg/store/data/b.i
% after update 0, strip 2
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 4 changesets, 4 total revisions
% journal contents
(no journal)
$ teststrip 0 2 w .hg/store/00manifest.i
% before update 0, strip 2
changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
saved backup bundle
transaction abort!
failed to truncate 00manifest.i
rollback failed - please run hg recover
Martin von Zweigbergk
strip: don't use "full" and "partial" to describe bundles...
r29954 strip failed, backup bundle
Patrick Mezard
test-repair-strip: turn into new style test
r14022 abort: Permission denied .hg/store/00manifest.i
% after update 0, strip 2
abandoned transaction found - run hg recover
checking changesets
checking manifests
manifest@?: rev 2 points to nonexistent changeset 2
manifest@?: 3362547cdf64 not in changesets
manifest@?: rev 3 points to nonexistent changeset 3
manifest@?: 265a85892ecb not in changesets
crosschecking files in changesets and manifests
c@3: in manifest but not in changeset
checking files
b@?: rev 1 points to nonexistent changeset 2
(expected 1)
c@?: rev 0 points to nonexistent changeset 3
3 files, 2 changesets, 4 total revisions
1 warnings encountered!
7 integrity errors encountered!
(first damaged changeset appears to be 3)
% journal contents
00changelog.i
00manifest.i
data/b.i
data/c.i
rolling back interrupted transaction
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 2 total revisions
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..