Add --issue flag to git cl status.

R=phajdan.jr@chromium.org, vadimsh@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2250323003
diff --git a/git_cl.py b/git_cl.py
index 399f9ed..44d4e28 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -3284,18 +3284,29 @@
                     help='print only specific field (desc|id|patch|status|url)')
   parser.add_option('-f', '--fast', action='store_true',
                     help='Do not retrieve review status')
+  parser.add_option('-i', '--issue', type=int,
+                    help='Operate on this issue number instead of the current'
+                      ' branch\'s implicit issue. Only valid with --field.')
   parser.add_option(
       '-j', '--maxjobs', action='store', type=int,
       help='The maximum number of jobs to use when retrieving review status')
 
   auth.add_auth_options(parser)
+  _add_codereview_select_options(parser)
   options, args = parser.parse_args(args)
+  _process_codereview_select_options(parser, options)
   if args:
     parser.error('Unsupported args: %s' % args)
   auth_config = auth.extract_auth_config_from_options(options)
 
+  if options.issue is not None:
+    if not options.field or not options.forced_codereview:
+      parser.error('--issue may only be specified in conjunction with --field'
+                   ' and either --rietveld or --gerrit')
+
   if options.field:
-    cl = Changelist(auth_config=auth_config)
+    cl = Changelist(auth_config=auth_config, issue=options.issue,
+                    codereview=options.forced_codereview)
     if options.field.startswith('desc'):
       print(cl.GetDescription())
     elif options.field == 'id':