aboutsummaryrefslogtreecommitdiff
path: root/repo_to_repo.py
diff options
context:
space:
mode:
authorZhizhou Yang <zhizhouy@google.com>2017-07-22 01:20:28 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-07-22 01:20:28 +0000
commitec1dfabf71cfe08796ba80ae03f4857b2797f5f9 (patch)
treebf139ee25415cecde142e95791edba3803b2452a /repo_to_repo.py
parent3690e025de8daaed03c4acb02d2b054e5c4c0dd5 (diff)
parentf1a93c225b92dc0059e7d7e2de7c7bd0a493e23d (diff)
downloadtoolchain-utils-ec1dfabf71cfe08796ba80ae03f4857b2797f5f9.tar.gz
Merge branch 'aosp/mirror-chromium-master' into update_utils am: 4307f4735e am: 18caef1edd am: 6c551e0d52 am: ddfea1f7e7android-wear-9.0.0_r9android-wear-9.0.0_r8android-wear-9.0.0_r7android-wear-9.0.0_r6android-wear-9.0.0_r5android-wear-9.0.0_r4android-wear-9.0.0_r34android-wear-9.0.0_r33android-wear-9.0.0_r32android-wear-9.0.0_r31android-wear-9.0.0_r30android-wear-9.0.0_r3android-wear-9.0.0_r29android-wear-9.0.0_r28android-wear-9.0.0_r27android-wear-9.0.0_r26android-wear-9.0.0_r25android-wear-9.0.0_r24android-wear-9.0.0_r23android-wear-9.0.0_r22android-wear-9.0.0_r21android-wear-9.0.0_r20android-wear-9.0.0_r2android-wear-9.0.0_r19android-wear-9.0.0_r18android-wear-9.0.0_r17android-wear-9.0.0_r16android-wear-9.0.0_r15android-wear-9.0.0_r14android-wear-9.0.0_r13android-wear-9.0.0_r12android-wear-9.0.0_r11android-wear-9.0.0_r10android-wear-9.0.0_r1android-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-security-9.0.0_r76android-security-9.0.0_r75android-security-9.0.0_r74android-security-9.0.0_r73android-security-9.0.0_r72android-security-9.0.0_r71android-security-9.0.0_r70android-security-9.0.0_r69android-security-9.0.0_r68android-security-9.0.0_r67android-security-9.0.0_r66android-security-9.0.0_r65android-security-9.0.0_r64android-security-9.0.0_r63android-security-9.0.0_r62android-o-mr1-iot-release-1.0.4android-o-mr1-iot-release-1.0.3android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r61android-9.0.0_r60android-9.0.0_r6android-9.0.0_r59android-9.0.0_r58android-9.0.0_r57android-9.0.0_r56android-9.0.0_r55android-9.0.0_r54android-9.0.0_r53android-9.0.0_r52android-9.0.0_r51android-9.0.0_r50android-9.0.0_r5android-9.0.0_r49android-9.0.0_r48android-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r39android-9.0.0_r38android-9.0.0_r37android-9.0.0_r36android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r3android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r2android-9.0.0_r19android-9.0.0_r18android-9.0.0_r17android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11android-9.0.0_r10android-9.0.0_r1security-pi-releasepie-vts-releasepie-security-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-platform-releasepie-gsipie-dr1-releasepie-dr1-devpie-devpie-cuttlefish-testingpie-cts-releasepie-b4s4-releasepie-b4s4-dev
am: f1a93c225b Change-Id: I60d258ddb8fd0bf9632f1f70c5cdeb3078938059
Diffstat (limited to 'repo_to_repo.py')
-rwxr-xr-xrepo_to_repo.py82
1 files changed, 43 insertions, 39 deletions
diff --git a/repo_to_repo.py b/repo_to_repo.py
index 3b3b9bc4..91c5d580 100755
--- a/repo_to_repo.py
+++ b/repo_to_repo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/env python2
#
# Copyright 2010 Google Inc. All Rights Reserved.
"""Module for transferring files between various types of repositories."""
@@ -23,6 +23,7 @@ from cros_utils import misc
# pylint: disable=anomalous-backslash-in-string
+
def GetCanonicalMappings(mappings):
canonical_mappings = []
for mapping in mappings:
@@ -101,8 +102,8 @@ class Repo(object):
return self._ce.RunCommand(command)
def __str__(self):
- return '\n'.join(str(s)
- for s in [self.repo_type, self.address, self.mappings])
+ return '\n'.join(
+ str(s) for s in [self.repo_type, self.address, self.mappings])
# Note - this type of repo is used only for "readonly", in other words, this
@@ -130,7 +131,6 @@ class FileRepo(Repo):
class P4Repo(Repo):
"""Class for P4 repositories."""
-
def __init__(self, address, mappings, revision=None):
Repo.__init__(self)
self.repo_type = 'p4'
@@ -143,9 +143,8 @@ class P4Repo(Repo):
client_name += tempfile.mkstemp()[1].replace('/', '-')
mappings = self.mappings
p4view = perforce.View('depot2', GetCanonicalMappings(mappings))
- p4client = perforce.CommandsFactory(self._root_dir,
- p4view,
- name=client_name)
+ p4client = perforce.CommandsFactory(
+ self._root_dir, p4view, name=client_name)
command = p4client.SetupAndDo(p4client.Sync(self.revision))
ret = self._ce.RunCommand(command)
assert ret == 0, 'Could not setup client.'
@@ -225,16 +224,16 @@ class GitRepo(Repo):
def SetupForPush(self):
with misc.WorkingDirectory(self._root_dir):
ret = self._CloneSources()
- logger.GetLogger().LogFatalIf(ret, 'Could not clone git repo %s.' %
- self.address)
+ logger.GetLogger().LogFatalIf(
+ ret, 'Could not clone git repo %s.' % self.address)
command = 'git branch -a | grep -wq %s' % self.branch
ret = self._ce.RunCommand(command)
if ret == 0:
if self.branch != 'master':
- command = ('git branch --track %s remotes/origin/%s' %
- (self.branch, self.branch))
+ command = ('git branch --track %s remotes/origin/%s' % (self.branch,
+ self.branch))
else:
command = 'pwd'
command += '&& git checkout %s' % self.branch
@@ -270,8 +269,8 @@ class GitRepo(Repo):
if self.gerrit:
label = 'somelabel'
command = 'git remote add %s %s' % (label, self.address)
- command += ('&& git push %s %s HEAD:refs/for/master' %
- (push_args, label))
+ command += ('&& git push %s %s HEAD:refs/for/master' % (push_args,
+ label))
else:
command = 'git push -v %s origin %s:%s' % (push_args, self.branch,
self.branch)
@@ -334,11 +333,12 @@ class RepoReader(object):
elif repo_type == 'svn':
repo = SvnRepo(repo_address, repo_mappings)
elif repo_type == 'git':
- repo = GitRepo(repo_address,
- repo_branch,
- mappings=repo_mappings,
- ignores=repo_ignores,
- gerrit=gerrit)
+ repo = GitRepo(
+ repo_address,
+ repo_branch,
+ mappings=repo_mappings,
+ ignores=repo_ignores,
+ gerrit=gerrit)
elif repo_type == 'file':
repo = FileRepo(repo_address)
else:
@@ -349,24 +349,27 @@ class RepoReader(object):
@logger.HandleUncaughtExceptions
def Main(argv):
parser = argparse.ArgumentParser()
- parser.add_argument('-i',
- '--input_file',
- dest='input_file',
- help='The input file that contains repo descriptions.')
-
- parser.add_argument('-n',
- '--dry_run',
- dest='dry_run',
- action='store_true',
- default=False,
- help='Do a dry run of the push.')
-
- parser.add_argument('-F',
- '--message_file',
- dest='message_file',
- default=None,
- help=('Use contents of the log file as the commit '
- 'message.'))
+ parser.add_argument(
+ '-i',
+ '--input_file',
+ dest='input_file',
+ help='The input file that contains repo descriptions.')
+
+ parser.add_argument(
+ '-n',
+ '--dry_run',
+ dest='dry_run',
+ action='store_true',
+ default=False,
+ help='Do a dry run of the push.')
+
+ parser.add_argument(
+ '-F',
+ '--message_file',
+ dest='message_file',
+ default=None,
+ help=('Use contents of the log file as the commit '
+ 'message.'))
options = parser.parse_args(argv)
if not options.input_file:
@@ -401,9 +404,10 @@ def Main(argv):
commit_message = 'Synced repos to: %s' % ','.join(input_revisions)
for output_repo in output_repos:
- ret = output_repo.PushSources(commit_message=commit_message,
- dry_run=options.dry_run,
- message_file=options.message_file)
+ ret = output_repo.PushSources(
+ commit_message=commit_message,
+ dry_run=options.dry_run,
+ message_file=options.message_file)
if ret:
return ret