##// END OF EJS Templates
patch: support diff data loss detection and upgrade...
patch: support diff data loss detection and upgrade In worst case, generating diff in upgrade mode can be two times more expensive than generating it in git mode directly: we may have to regenerate the whole diff again whenever a git feature is detected. Also, the first diff attempt is completely buffered instead of being streamed. That said, even without having profiled it yet, I am convinced we can fast-path the upgrade mode if necessary were it to be used in regular diff commands, and not only in mq where avoiding data loss is worth the price.

File last commit:

r9690:b33d7084 default
r10189:e451e599 default
Show More
test-repair-strip.out
90 lines | 2.4 KiB | text/plain | TextLexer
/ tests / test-repair-strip.out
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 % before update 0, strip 2
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
saving bundle to
transaction abort!
failed to truncate data/b.i
rollback failed - please run hg recover
abort: Permission denied .hg/store/data/b.i
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 % after update 0, strip 2
Sune Foldager
verify: report existence of journal
r9690 abandoned transaction found - run hg recover
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 b@?: rev 1 points to nonexistent changeset 2
(expected 1)
b@?: 736c29771fba not in manifests
Henrik Stuart
transaction: refactor transaction.abort and rollback to use the same code...
r8294 warning: orphan revlog 'data/c.i'
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 2 files, 2 changesets, 3 total revisions
Henrik Stuart
transaction: refactor transaction.abort and rollback to use the same code...
r8294 2 warnings encountered!
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 2 integrity errors encountered!
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 % 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
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 2 files, 2 changesets, 2 total revisions
% before update 0, strip 2
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
abort: Permission denied .hg/store/data/b.i
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 % after update 0, strip 2
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 3 files, 4 changesets, 4 total revisions
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 % journal contents
Mads Kiilerich
test-repair-strip: Don't rely on cat error message
r9284 (no journal)
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 % before update 0, strip 2
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
saving bundle to
transaction abort!
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 failed to truncate 00manifest.i
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 rollback failed - please run hg recover
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 abort: Permission denied .hg/store/00manifest.i
% after update 0, strip 2
Sune Foldager
verify: report existence of journal
r9690 abandoned transaction found - run hg recover
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 checking changesets
checking manifests
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 manifest@?: rev 2 points to nonexistent changeset 2
Peter Arrenbrecht
verify: detect manifest revs not in any changeset
r8394 manifest@?: 3362547cdf64 not in changesets
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 manifest@?: rev 3 points to nonexistent changeset 3
Peter Arrenbrecht
verify: detect manifest revs not in any changeset
r8394 manifest@?: 265a85892ecb not in changesets
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 crosschecking files in changesets and manifests
Henrik Stuart
transaction: refactor transaction.abort and rollback to use the same code...
r8294 c@3: in manifest but not in changeset
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 checking files
Henrik Stuart
transaction: refactor transaction.abort and rollback to use the same code...
r8294 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!
Peter Arrenbrecht
verify: detect manifest revs not in any changeset
r8394 7 integrity errors encountered!
Henrik Stuart
transaction: refactor transaction.abort and rollback to use the same code...
r8294 (first damaged changeset appears to be 3)
Henrik Stuart
strip: make repair.strip transactional to avoid repository corruption...
r8073 % 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
Henrik Stuart
test: change repair strip test to illustrate manifest errors
r8293 2 files, 2 changesets, 2 total revisions