1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
import common, hglib
class test_merge(common.basetest):
def setUp(self):
common.basetest.setUp(self)
self.append('a', 'a')
rev, self.node0 = self.client.commit('first', addremove=True)
self.append('a', 'a')
rev, self.node1 = self.client.commit('change')
def test_basic(self):
self.client.update(self.node0)
self.append('b', 'a')
rev, node2 = self.client.commit('new file', addremove=True)
self.client.merge(self.node1)
rev, node = self.client.commit('merge')
diff = """diff -r %s -r %s a
--- a/a
+++ b/a
@@ -1,1 +1,1 @@
-a
\ No newline at end of file
+aa
\ No newline at end of file
""" % (node2[:12], node[:12])
self.assertEquals(diff, self.client.diff(change=node, nodates=True))
def test_merge_prompt_abort(self):
self.client.update(self.node0)
self.client.remove('a')
self.client.commit('remove')
self.assertRaises(hglib.error.CommandError, self.client.merge)
def test_merge_prompt_noninteractive(self):
self.client.update(self.node0)
self.client.remove('a')
rev, node = self.client.commit('remove')
self.client.merge(cb=hglib.merge.handlers.noninteractive)
diff = """diff -r %s a
--- /dev/null
+++ b/a
@@ -0,0 +1,1 @@
+aa
\ No newline at end of file
""" % node[:12]
self.assertEquals(diff, self.client.diff(nodates=True))
def test_merge_prompt_cb(self):
self.client.update(self.node0)
self.client.remove('a')
rev, node = self.client.commit('remove')
def cb(output):
return 'c'
self.client.merge(cb=cb)
diff = """diff -r %s a
--- /dev/null
+++ b/a
@@ -0,0 +1,1 @@
+aa
\ No newline at end of file
""" % node[:12]
self.assertEquals(diff, self.client.diff(nodates=True))
|