view tests/test-rollback.t @ 13857:ba1f98f877ec

subrepo: process merge substate in sorted order in submerge() This ensures that subrepositories are pulled in a well defined order when cloning the parent repository. BEFORE: $ hg clone http://hg.gerg.ca/allextensions destination directory: allextensions requesting all changes adding changesets adding manifests adding file changes added 10 changesets with 20 changes to 6 files updating to branch default pulling subrepo caseguard from http://bitbucket.org/alexandru/caseguard real URL is https://bitbucket.org/alexandru/caseguard requesting all changes adding changesets adding manifests adding file changes added 81 changesets with 100 changes to 13 files pulling subrepo hg-prompt from http://bitbucket.org/sjl/hg-prompt real URL is https://bitbucket.org/sjl/hg-prompt requesting all changes adding changesets adding manifests adding file changes added 114 changesets with 176 changes to 35 files pulling subrepo hgpaste from http://bitbucket.org/birkenfeld/hgpaste real URL is https://bitbucket.org/birkenfeld/hgpaste requesting all changes adding changesets adding manifests adding file changes added 18 changesets with 18 changes to 2 files ... AFTER: $ hg clone http://hg.gerg.ca/allextensions destination directory: allextensions requesting all changes adding changesets adding manifests adding file changes added 10 changesets with 20 changes to 6 files updating to branch default pulling subrepo Artemis from http://hg.mrzv.org/Artemis requesting all changes adding changesets adding manifests adding file changes added 55 changesets with 108 changes to 47 files ...
author Adrian Buehlmann <adrian@cadifra.com>
date Sun, 03 Apr 2011 01:57:17 +0200
parents 1e497df514e2
children ffb5c09ba822 044e1356327d
line wrap: on
line source


  $ mkdir t
  $ cd t
  $ hg init
  $ echo a > a
  $ hg add a
  $ hg commit -m "test"
  $ hg verify
  checking changesets
  checking manifests
  crosschecking files in changesets and manifests
  checking files
  1 files, 1 changesets, 1 total revisions
  $ hg parents
  changeset:   0:acb14030fe0a
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     test
  
  $ hg status
  $ hg rollback
  repository tip rolled back to revision -1 (undo commit)
  working directory now based on revision -1
  $ 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

Test issue 902

  $ hg commit -m "test2"
  $ hg branch test
  marked working directory as branch test
  $ hg rollback
  repository tip rolled back to revision -1 (undo commit)
  working directory now based on revision -1
  $ hg branch
  default

Test issue 1635 (commit message saved)
.hg/last-message.txt:

  $ cat .hg/last-message.txt ; echo
  test2

Test rollback of hg before issue 902 was fixed

  $ hg commit -m "test3"
  $ hg branch test
  marked working directory as branch test
  $ rm .hg/undo.branch
  $ hg rollback
  repository tip rolled back to revision -1 (undo commit)
  Named branch could not be reset, current branch still is: test
  working directory now based on revision -1
  $ hg branch
  test

rollback by pretxncommit saves commit message (issue 1635)

  $ 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]

.hg/last-message.txt:

  $ cat .hg/last-message.txt ; echo
  precious commit message

same thing, but run $EDITOR

  $ cat > editor << '__EOF__'
  > #!/bin/sh
  > echo "another precious commit message" > "$1"
  > __EOF__
  $ chmod +x editor
  $ HGEDITOR="'`pwd`'"/editor hg --config hooks.pretxncommit=false commit 2>&1
  transaction abort!
  rollback completed
  note: commit message saved in .hg/last-message.txt
  abort: pretxncommit hook exited with status * (glob)
  [255]
  $ cat .hg/last-message.txt
  another precious commit message