123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/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
- from scm import GIT
- import subprocess2
- import third_party.upload
- import trychange
- import git_cl
- def GetRietveldIssueNumber():
- try:
- return GIT.Capture(
- ['config', 'branch.%s.rietveldissue' % GIT.GetBranch('.')],
- '.').strip()
- except subprocess2.CalledProcessError:
- return None
- def GetRietveldPatchsetNumber():
- try:
- return GIT.Capture(
- ['config', 'branch.%s.rietveldpatchset' % GIT.GetBranch('.')],
- '.').strip()
- except subprocess2.CalledProcessError:
- return None
- def GetRietveldServerUrl():
- try:
- return GIT.Capture(['config', 'rietveld.server'], '.').strip()
- except subprocess2.CalledProcessError:
- return None
- def main(args):
- patchset = GetRietveldPatchsetNumber()
- if patchset:
- args.extend([
- '--issue', GetRietveldIssueNumber(),
- '--patchset', patchset,
- ])
- else:
- rietveld_url = GetRietveldServerUrl()
- if rietveld_url:
- args.extend(['--rietveld_url', GetRietveldServerUrl()])
- try:
- cl = git_cl.Changelist()
- change = cl.GetChange(cl.GetUpstreamBranch(), None)
- # Hack around a limitation in logging.
- logging.getLogger().handlers = []
- sys.exit(trychange.TryChange(
- args, change, 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))
- return 0
- if __name__ == '__main__':
- try:
- sys.exit(main(sys.argv[1:]))
- except KeyboardInterrupt:
- sys.stderr.write('interrupted\n')
- sys.exit(1)
|