Commit 3f71d6ed authored by msb@chromium.org's avatar msb@chromium.org

git_cl_hooks: get cl fields vi git_cl accessors instead of using backquote

This is part 2 of a 2-part change which fixes a bug where git-cl
hangs if ~/.codereview_upload_cookies does not exist. It is
actually waiting on user input for email/password (but you don't see the
prompt because it's happening in a subprocess).

BUG=none
TEST=Verified that the hang is fixed.

Review URL: http://codereview.chromium.org/3622002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@61822 0039d316-1c4b-4281-b951-d872f2087c98
parent 4acf742e
......@@ -9,10 +9,16 @@ import sys
import breakpad
from git_cl_repo import git_cl
from git_cl_repo import upload
import presubmit_support
import scm
import watchlists
# Really ugly hack to quiet upload.py
upload.verbosity = 0
def Backquote(cmd, cwd=None):
"""Like running `cmd` in a shell script."""
return subprocess.Popen(cmd,
......@@ -43,10 +49,11 @@ class ChangeOptions:
# We use the sha1 of HEAD as a name of this change.
name = Backquote(['git', 'rev-parse', 'HEAD'])
files = scm.GIT.CaptureStatus([root], upstream_branch)
issue = BackquoteAsInteger(['git', 'cl', 'status', '--field=id'])
patchset = BackquoteAsInteger(['git', 'cl', 'status', '--field=patch'])
cl = git_cl.Changelist()
issue = cl.GetIssue()
patchset = cl.GetPatchset()
if issue:
description = Backquote(['git', 'cl', 'status', '--field=desc'])
description = cl.GetDescription()
else:
# If the change was never uploaded, use the log messages of all commits
# up to the branch point, as git cl upload will prefill the description
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment