You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
14 years ago
|
#!/usr/bin/python
|
||
|
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
"""Wrapper for trychange.py for git checkout."""
|
||
|
|
||
|
import logging
|
||
|
import sys
|
||
|
|
||
|
import breakpad # pylint: disable=W0611
|
||
|
|
||
|
import gclient_utils
|
||
|
from scm import GIT
|
||
|
import third_party.upload
|
||
|
import trychange
|
||
|
|
||
|
|
||
|
def GetRietveldIssueNumber():
|
||
|
try:
|
||
|
return GIT.Capture(
|
||
|
['config', 'branch.%s.rietveldissue' % GIT.GetBranch(None)])
|
||
|
except gclient_utils.Error:
|
||
|
return None
|
||
|
|
||
|
|
||
|
def GetRietveldPatchsetNumber():
|
||
|
try:
|
||
|
return GIT.Capture(
|
||
|
['config', 'branch.%s.rietveldpatchset' % GIT.GetBranch(None)])
|
||
|
except gclient_utils.Error:
|
||
|
return None
|
||
|
|
||
|
|
||
|
def GetRietveldServerUrl():
|
||
|
try:
|
||
|
return GIT.Capture(['config', 'rietveld.server']).strip()
|
||
|
except gclient_utils.Error:
|
||
|
return None
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
args = sys.argv[1:]
|
||
|
patchset = GetRietveldPatchsetNumber()
|
||
|
if patchset:
|
||
|
args.extend([
|
||
|
'--issue', GetRietveldIssueNumber(),
|
||
|
'--patchset', patchset,
|
||
|
])
|
||
|
else:
|
||
|
rietveld_url = GetRietveldServerUrl()
|
||
|
if rietveld_url:
|
||
|
args.extend(['--rietveld_url', GetRietveldServerUrl()])
|
||
|
# Hack around a limitation in logging.
|
||
|
logging.getLogger().handlers = []
|
||
|
try:
|
||
|
sys.exit(trychange.TryChange(
|
||
|
args, file_list=[], swallow_exception=False,
|
||
|
prog='git-try',
|
||
|
extra_epilog='\n'
|
||
|
'git try will diff against your tracked branch and will '
|
||
|
'detect your rietveld\n'
|
||
|
'code review if you are using git-cl\n'))
|
||
|
except third_party.upload.ClientLoginError, e:
|
||
|
print('Got an exception while trying to log in to Rietveld.')
|
||
|
print(str(e))
|