[git-cl] If set, use `options.title` for initial uploads.

Change-Id: Ia57b7a7b769d352e05820af0e40a52fcab471ddb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3736424
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: manuk hovanesian <manukh@chromium.org>
diff --git a/git_cl.py b/git_cl.py
index 35767c1..9be9215 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -1504,8 +1504,9 @@
     return change_description
 
   def _GetTitleForUpload(self, options):
-    # When not squashing, just return options.title.
-    if not options.squash:
+    # When not squashing or options.title is provided, just return
+    # options.title.
+    if not options.squash or options.title:
       return options.title
 
     # On first upload, patchset title is always this string, while options.title
@@ -1515,8 +1516,6 @@
 
     # When uploading subsequent patchsets, options.message is taken as the title
     # if options.title is not provided.
-    if options.title:
-      return options.title
     if options.message:
       return options.message.strip()