git cl issue 0 should really clear issue.
It used to clear just issue number and patchset, but that's not
all state that associates a given branch with codereview site.
R=andybons@chromium.org
BUG=609295
Review-Url: https://codereview.chromium.org/2032433003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300683 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index 3924b22..064520c 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -1453,6 +1453,24 @@
self.assertEqual(0, git_cl.main(['description', '-n', '-']))
self.assertEqual('hi\n\t there\n\nman', ChangelistMock.desc)
+ def test_cmd_issue_erase_existing(self):
+ out = StringIO.StringIO()
+ self.mock(git_cl.sys, 'stdout', out)
+ self.calls = [
+ ((['git', 'symbolic-ref', 'HEAD'],), 'feature'),
+ ((['git', 'config', 'branch.feature.rietveldissue'],), ''),
+ ((['git', 'config', 'branch.feature.gerritissue'],), '123'),
+ ((['git', 'config', '--unset', 'branch.feature.gerritissue'],), ''),
+ ((['git', 'config', '--unset', 'branch.feature.gerritpatchset'],), ''),
+ # Let this command raise exception (retcode=1) - it should be ignored.
+ ((['git', 'config', '--unset', 'branch.feature.last-upload-hash'],),
+ '', subprocess2.CalledProcessError(1, '', '', '', '')),
+ ((['git', 'config', '--unset', 'branch.feature.gerritserver'],), ''),
+ ((['git', 'config', '--unset', 'branch.feature.gerritsquashhash'],),
+ ''),
+ ]
+ self.assertEqual(0, git_cl.main(['issue', '0']))
+
if __name__ == '__main__':
git_cl.logging.basicConfig(