Update bug field repohook

Cusky now uses b/<id> instead of b:<id>, which is used by ChromeOS. We
need to update the repohook that checks the bug field to reflect this.

BUG=b/162410910
TEST=pre-upload_unittest.py and tested on this commit message
RELEASE_NOTE=None

Change-Id: Ic443c005247d43d212415d1aff18b274001af8e0
(cherry picked from commit 4c1ef0344060c0fc0af4994421a9b923c19a2aa5)
diff --git a/pre-upload.py b/pre-upload.py
index d65946d..2231a86 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -685,10 +685,17 @@
   """Check for a correctly formatted 'BUG=' field in the commit message."""
   SEE_ALSO = 'Please review the documentation:\n%s' % (DOC_COMMIT_MSG_URL,)
 
-  OLD_BUG_RE = r'\nBUG=.*chromium-os'
+  OLD_BUG_RE = r'\nBUG=b:\d+'
   if re.search(OLD_BUG_RE, _get_commit_desc(commit)):
-    msg = ('The chromium-os bug tracker is now deprecated. Please use\n'
-           'the chromium tracker in your BUG= line now.')
+    msg = ('The old bug format b:<id> for buganizer bugs is deprecated.\n'
+           'Please use the new format b/<id> in your BUG= line now.')
+    return HookFailure(msg)
+
+  OLD_CHROMIUM_RE = r'\nBUG=chromium:\d+'
+  if re.search(OLD_CHROMIUM_RE, _get_commit_desc(commit)):
+    msg = ('The chromium: tracker is no longer supported.\n'
+           'Please provide a buganinzer id in the form b/<id> '
+           'instead in your BUG= line now.')
     return HookFailure(msg)
 
   # Android internal and external projects use "Bug: " to track bugs in
@@ -706,12 +713,11 @@
              'BUG=None\n%s' % (SEE_ALSO,))
       return HookFailure(msg)
   else:
-    BUG_RE = r'\nBUG=([Nn]one|(chromium|b):\d+)'
+    BUG_RE = r'\nBUG=([Nn]one|b\/\d+)'
     if not re.search(BUG_RE, _get_commit_desc(commit)):
       msg = ('Changelist description needs BUG field (after first line):\n'
              'Examples:\n'
-             'BUG=chromium:9999 (for public tracker)\n'
-             'BUG=b:9999 (for buganizer)\n'
+             'BUG=b/9999 (for buganizer)\n'
              'BUG=None\n%s' % (SEE_ALSO,))
       return HookFailure(msg)
 
diff --git a/pre-upload_unittest.py b/pre-upload_unittest.py
index 13135d7..940eb42 100755
--- a/pre-upload_unittest.py
+++ b/pre-upload_unittest.py
@@ -1078,8 +1078,7 @@
 
   def testNormal(self):
     """Accept a commit message w/a valid BUG."""
-    self.assertMessageAccepted('\nBUG=chromium:1234\n', self.CROS_PROJECT)
-    self.assertMessageAccepted('\nBUG=b:1234\n', self.CROS_PROJECT)
+    self.assertMessageAccepted('\nBUG=b/1234\n', self.CROS_PROJECT)
 
     self.assertMessageAccepted('\nBug: 1234\n', self.AOSP_PROJECT)
     self.assertMessageAccepted('\nBug:1234\n', self.AOSP_PROJECT)
@@ -1115,9 +1114,9 @@
 
   def testOldTrackers(self):
     """Reject commit messages using old trackers."""
-    self.assertMessageRejected('\nBUG=chrome-os-partner:1234\n',
+    self.assertMessageRejected('\nBUG=b:1234\n',
                                self.CROS_PROJECT)
-    self.assertMessageRejected('\nBUG=chromium-os:1234\n', self.CROS_PROJECT)
+    self.assertMessageRejected('\nBUG=chromium:1234\n', self.CROS_PROJECT)
 
   def testNoTrackers(self):
     """Reject commit messages w/invalid trackers."""