Index: mergebot/trunk/utils/test.py
===================================================================
--- mergebot/trunk/utils/test.py	(revision 53)
+++ mergebot/trunk/utils/test.py	(revision 54)
@@ -17,5 +17,5 @@
 from trac.tests.functional import FunctionalTestSuite, FunctionalTester, FunctionalTwillTestCaseSetup, tc, b, logfile
 from trac.tests.functional.svntestenv import SvnFunctionalTestEnvironment
-from trac.tests.contentgen import random_page #, random_sentence, random_word
+from trac.tests.contentgen import random_page, random_sentence #, random_word
 
 
@@ -227,5 +227,6 @@
         if files is None:
             files = ['.']
-        retval = call(['svn', 'commit', '-m', message] + list(files),
+        commit_message = self.__class__.__name__ + ": " + message
+        retval = call(['svn', 'commit', '-m', commit_message] + list(files),
             cwd=self.get_workdir(),
             stdout=logfile, stderr=logfile)
@@ -322,4 +323,31 @@
         self.add_new_file(basename + '-trunk')
         self.commit('Add a new file on trunk')
+
+        self._tester.rebranch(ticket_id, 'stuff')
+
+
+class MergeBotTestRebranchWithConflict(FunctionalSvnTestCaseSetup):
+    def runTest(self):
+        """Verify that the 'rebranch' button works with conflicts on the branch and trunk"""
+        ticket_id = self._tester.create_ticket(summary=self.__class__.__name__,
+            info={'component':'stuff', 'version':'trunk'})
+        basename = self.__class__.__name__
+
+        # create a file in which to have conflicts
+        self.checkout()
+        self.add_new_file(basename)
+        self.commit('Add a new file on trunk')
+
+        # create the branch
+        self._tester.branch(ticket_id, 'stuff')
+
+        # modify the file on trunk
+        open(os.path.join(self.get_workdir(), basename), 'a').write(random_sentence())
+        self.commit('Modify the file on trunk')
+
+        # modify the file on the branch
+        self.switch(ticket_id)
+        open(os.path.join(self.get_workdir(), basename), 'a').write(random_sentence())
+        self.commit('Modify the file on branch')
 
         self._tester.rebranch(ticket_id, 'stuff')
@@ -366,4 +394,5 @@
     suite.addTest(MergeBotTestRebranchWithChange())
     suite.addTest(MergeBotTestRebranchWithChangeAndTrunkChange())
+    suite.addTest(MergeBotTestRebranchWithConflict())
     suite.addTest(MergeBotTestSingleUseCase())
     return suite
