Save the GIT hash of HEAD when uploading to rietveld.

Review URL: https://chromiumcodereview.appspot.com/12811006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@188807 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl.py b/git_cl.py
index 2fd5d85..79d0715 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -95,9 +95,14 @@
 
 def git_set_branch_value(key, value):
   branch = Changelist().GetBranch()
-  if branch:
-    git_key = 'branch.%s.%s' % (branch, key)
-    RunGit(['config', '--int', git_key, "%d" % value])
+  if not branch:
+    return
+
+  cmd = ['config']
+  if isinstance(value, int):
+    cmd.append('--int')
+  git_key = 'branch.%s.%s' % (branch, key)
+  RunGit(cmd + [git_key, str(value)])
 
 
 def git_get_branch_default(key, default):
@@ -1288,7 +1293,11 @@
   print_stats(options.similarity, options.find_copies, args)
   if settings.GetIsGerrit():
     return GerritUpload(options, args, cl)
-  return RietveldUpload(options, args, cl)
+  ret = RietveldUpload(options, args, cl)
+  if not ret:
+    git_set_branch_value('last-upload-hash', RunGit(['rev-parse', 'HEAD']))
+
+  return ret
 
 
 def IsSubmoduleMergeCommit(ref):