tests/test-merge1.t
changeset 11975 21884b433c51
parent 8834 6d36fc70754e
child 12156 4c94b6d0fb1c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-merge1.t	Wed Aug 18 05:05:51 2010 +0530
@@ -0,0 +1,165 @@
+  $ cat <<EOF > merge
+  > import sys, os
+  > 
+  > try:
+  >     import msvcrt
+  >     msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
+  >     msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
+  > except ImportError:
+  >     pass
+  > 
+  > print "merging for", os.path.basename(sys.argv[1])
+  > EOF
+  $ HGMERGE="python ../merge"; export HGMERGE
+
+  $ mkdir t
+  $ cd t
+  $ hg init
+  $ echo This is file a1 > a
+  $ hg add a
+  $ hg commit -m "commit #0" -d "1000000 0"
+  $ echo This is file b1 > b
+  $ hg add b
+  $ hg commit -m "commit #1" -d "1000000 0"
+
+  $ hg update 0
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ echo This is file c1 > c
+  $ hg add c
+  $ hg commit -m "commit #2" -d "1000000 0"
+  created new head
+  $ echo This is file b1 > b
+no merges expected
+  $ hg merge -P 1
+  changeset:   1:4ee19afe4659
+  user:        test
+  date:        Mon Jan 12 13:46:40 1970 +0000
+  summary:     commit #1
+  
+  $ hg merge 1
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg diff --nodates
+  diff -r d9e5953b9dec b
+  --- /dev/null
+  +++ b/b
+  @@ -0,0 +1,1 @@
+  +This is file b1
+  $ hg status
+  M b
+  $ cd ..; rm -r t
+
+  $ mkdir t
+  $ cd t
+  $ hg init
+  $ echo This is file a1 > a
+  $ hg add a
+  $ hg commit -m "commit #0" -d "1000000 0"
+  $ echo This is file b1 > b
+  $ hg add b
+  $ hg commit -m "commit #1" -d "1000000 0"
+
+  $ hg update 0
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ echo This is file c1 > c
+  $ hg add c
+  $ hg commit -m "commit #2" -d "1000000 0"
+  created new head
+  $ echo This is file b2 > b
+merge should fail
+  $ hg merge 1
+  abort: untracked file in working directory differs from file in requested revision: 'b'
+merge of b expected
+  $ hg merge -f 1
+  merging for b
+  merging b
+  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg diff --nodates
+  diff -r d9e5953b9dec b
+  --- /dev/null
+  +++ b/b
+  @@ -0,0 +1,1 @@
+  +This is file b2
+  $ hg status
+  M b
+  $ cd ..; rm -r t
+
+  $ mkdir t
+  $ cd t
+  $ hg init
+  $ echo This is file a1 > a
+  $ hg add a
+  $ hg commit -m "commit #0" -d "1000000 0"
+  $ echo This is file b1 > b
+  $ hg add b
+  $ hg commit -m "commit #1" -d "1000000 0"
+  $ echo This is file b22 > b
+  $ hg commit -m "commit #2" -d "1000000 0"
+  $ hg update 1
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ echo This is file c1 > c
+  $ hg add c
+  $ hg commit -m "commit #3" -d "1000000 0"
+  created new head
+
+Contents of b should be "this is file b1"
+  $ cat b
+  This is file b1
+
+  $ echo This is file b22 > b
+merge fails
+  $ hg merge 2
+  abort: outstanding uncommitted changes (use 'hg status' to list changes)
+  $ echo %% merge expected!
+  %% merge expected!
+  $ hg merge -f 2
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg diff --nodates
+  diff -r c1dd73cbf59f b
+  --- a/b
+  +++ b/b
+  @@ -1,1 +1,1 @@
+  -This is file b1
+  +This is file b22
+  $ hg status
+  M b
+  $ cd ..; rm -r t
+
+  $ mkdir t
+  $ cd t
+  $ hg init
+  $ echo This is file a1 > a
+  $ hg add a
+  $ hg commit -m "commit #0" -d "1000000 0"
+  $ echo This is file b1 > b
+  $ hg add b
+  $ hg commit -m "commit #1" -d "1000000 0"
+  $ echo This is file b22 > b
+  $ hg commit -m "commit #2" -d "1000000 0"
+  $ hg update 1
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ echo This is file c1 > c
+  $ hg add c
+  $ hg commit -m "commit #3" -d "1000000 0"
+  created new head
+  $ echo This is file b33 > b
+merge of b should fail
+  $ hg merge 2
+  abort: outstanding uncommitted changes (use 'hg status' to list changes)
+merge of b expected
+  $ hg merge -f 2
+  merging for b
+  merging b
+  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg diff --nodates
+  diff -r c1dd73cbf59f b
+  --- a/b
+  +++ b/b
+  @@ -1,1 +1,1 @@
+  -This is file b1
+  +This is file b33
+  $ hg status
+  M b