tests/test-journal-exists.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 01 Jul 2014 23:08:17 +0200
changeset 22020 311979b773fb
parent 21274 3b4c75690206
child 39489 f1186c292d03
permissions -rw-r--r--
push: include phase push in the unified bundle2 push Phase push is now included in the same bundle2 push as changesets. We use multiple pushkey parts to transmit the information. Note that phase moves are still not part of the repository "transaction".

  $ hg init
  $ echo a > a
  $ hg ci -Am0
  adding a

  $ hg -q clone . foo

  $ touch .hg/store/journal

  $ echo foo > a
  $ hg ci -Am0
  abort: abandoned transaction found!
  (run 'hg recover' to clean up transaction)
  [255]

  $ hg recover
  rolling back interrupted transaction
  checking changesets
  checking manifests
  crosschecking files in changesets and manifests
  checking files
  1 files, 1 changesets, 1 total revisions

Check that zero-size journals are correctly aborted:

#if unix-permissions no-root
  $ hg bundle -qa repo.hg
  $ chmod -w foo/.hg/store/00changelog.i

  $ hg -R foo unbundle repo.hg
  adding changesets
  abort: Permission denied: $TESTTMP/foo/.hg/store/.00changelog.i-* (glob)
  [255]

  $ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi
#endif