Index: mergebot/trunk/utils/test.py
===================================================================
--- mergebot/trunk/utils/test.py	(revision 45)
+++ mergebot/trunk/utils/test.py	(revision 46)
@@ -245,4 +245,32 @@
 
 
+class MergeBotTestRebranchWithChange(FunctionalTwillTestCaseSetup):
+    def runTest(self):
+        """Verify that the 'rebranch' button works with changes on the branch"""
+        ticket_id = self._tester.create_ticket(summary=self.__class__.__name__,
+            info={'component':'stuff', 'version':'trunk'})
+        self._tester.branch(ticket_id, 'stuff')
+
+        # checkout a working copy & make a change
+        svnurl = self._testenv.repo_url()
+        workdir = os.path.join(self._testenv.dirname, self.__class__.__name__)
+        retval = call(['svn', 'checkout', svnurl + '/stuff/branches/ticket-%s' % ticket_id, workdir],
+            stdout=logfile, stderr=logfile)
+        self.assertEqual(retval, 0, "svn checkout failed with error %s" % (retval))
+        # Create & add a new file
+        newfile = os.path.join(workdir, self.__class__.__name__)
+        open(newfile, 'w').write(random_page())
+        retval = call(['svn', 'add', self.__class__.__name__],
+            cwd=workdir,
+            stdout=logfile, stderr=logfile)
+        self.assertEqual(retval, 0, "svn add failed with error %s" % (retval))
+        retval = call(['svn', 'commit', '-m', 'Add a new file', self.__class__.__name__],
+            cwd=workdir,
+            stdout=logfile, stderr=logfile)
+        self.assertEqual(retval, 0, "svn commit failed with error %s" % (retval))
+
+        self._tester.rebranch(ticket_id, 'stuff')
+
+
 class MergeBotTestSingleUseCase(FunctionalTwillTestCaseSetup):
     def runTest(self):
@@ -283,4 +311,5 @@
     suite.addTest(MergeBotTestCheckMerge())
     suite.addTest(MergeBotTestMerge())
+    suite.addTest(MergeBotTestRebranchWithChange())
     suite.addTest(MergeBotTestSingleUseCase())
     return suite
