view tests/test-convergedmerge.t @ 575:a7da97e69d56

tests: extract extension configuration into a testutil library Thanks to Felipe Contreras for the patch which this was based on. Even though the MQ extension was only used in a single test (test-pull-after-strip.t), I included it in the testutil. It shouldn't hurt anything to have it enabled and not used, and saves us from having to deal with enabling extensions in individual tests at all. Similarly, this changeset results in the graphlog extension being enabled for all tests, even though there were some that didn't use it before. This is even less significant in Mercurial 2.3+, since in those versions, graphlog is part of core, and is available even when the extension is disabled.
author David M. Carr <david@carrclan.us>
date Tue, 30 Oct 2012 20:03:26 -0400
parents 81832807d193
children 935c4fb1bbfc
line wrap: on
line source

Load commonly used test logic
  $ . "$TESTDIR/testutil"

bail if the user does not have git command-line client
  $ "$TESTDIR/hghave" git || exit 80

bail if the user does not have dulwich
  $ python -c 'import dulwich, dulwich.repo' || exit 80

  $ hg init hgrepo1
  $ cd hgrepo1
  $ echo A > afile
  $ hg add afile 
  $ hg ci -m "origin"

  $ echo B > afile
  $ hg ci -m "A->B"

  $ echo C > afile
  $ hg ci -m "B->C"

  $ hg up -r0
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ echo C > afile
  $ hg ci -m "A->C"
  created new head

  $ hg merge -r2
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  (branch merge, don't forget to commit)
  $ hg ci -m "merge"

  $ hg log --graph --style compact | sed 's/\[.*\]//g'
  @    4:3,2   eaa21d002113   1970-01-01 00:00 +0000   test
  |\     merge
  | |
  | o  3:0   ea82b67264a1   1970-01-01 00:00 +0000   test
  | |    A->C
  | |
  o |  2   0dbe4ac1a758   1970-01-01 00:00 +0000   test
  | |    B->C
  | |
  o |  1   7205e83b5a3f   1970-01-01 00:00 +0000   test
  |/     A->B
  |
  o  0   5d1a6b64f9d0   1970-01-01 00:00 +0000   test
       origin
  

  $ cd ..

  $ mkdir gitrepo
  $ cd gitrepo
  $ git init --bare
  Initialized empty Git repository in $TESTTMP/gitrepo/

  $ cd ..

  $ cd hgrepo1
  $ hg bookmark -r4 master
  $ hg push -r master ../gitrepo
  pushing to ../gitrepo
  searching for changes
  $ cd ..

  $ hg clone gitrepo hgrepo2 | grep -v '^updating'
  importing git objects into hg
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd hgrepo2
  $ echo % expect the same revision ids as above
  % expect the same revision ids as above
  $ hg log --graph --style compact | sed 's/\[.*\]//g'
  @    4:1,3   eaa21d002113   1970-01-01 00:00 +0000   test
  |\     merge
  | |
  | o  3   0dbe4ac1a758   1970-01-01 00:00 +0000   test
  | |    B->C
  | |
  | o  2:0   7205e83b5a3f   1970-01-01 00:00 +0000   test
  | |    A->B
  | |
  o |  1   ea82b67264a1   1970-01-01 00:00 +0000   test
  |/     A->C
  |
  o  0   5d1a6b64f9d0   1970-01-01 00:00 +0000   test
       origin
  

  $ cd ..