git-cl: Check if author exists before adding to presubmit command line.

When user.email is not configured in git, git-cl tries to call
presubmit support with --author None, which makes git-cl crash.

Bug: b/150870673
Change-Id: Idc42ba2b970340ed93e1e92f65850fc1a12336d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2090375
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/git_cl.py b/git_cl.py
index 2144791..2348620 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -1405,22 +1405,24 @@
 
   def _GetCommonPresubmitArgs(self, verbose, upstream):
     args = [
-        '--author', self.GetAuthor(),
         '--root', settings.GetRoot(),
         '--upstream', upstream,
     ]
 
     args.extend(['--verbose'] * verbose)
 
+    author = self.GetAuthor()
+    gerrit_url = self.GetCodereviewServer()
     issue = self.GetIssue()
     patchset = self.GetPatchset()
-    gerrit_url = self.GetCodereviewServer()
+    if author:
+      args.extend(['--author', author])
+    if gerrit_url:
+      args.extend(['--gerrit_url', gerrit_url])
     if issue:
       args.extend(['--issue', str(issue)])
     if patchset:
       args.extend(['--patchset', str(patchset)])
-    if gerrit_url:
-      args.extend(['--gerrit_url', gerrit_url])
 
     return args