From 53d9d0cbd08e28d8a195b64a96dbc51bcde5b4ec Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 12 May 2025 15:03:35 -0400 Subject: [PATCH] cros-repo: minor tweaks --- .bin/cros-repo | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.bin/cros-repo b/.bin/cros-repo index d3e1946..91cd8f9 100755 --- a/.bin/cros-repo +++ b/.bin/cros-repo @@ -19,6 +19,7 @@ import sys REPO_URL = 'https://chromium.googlesource.com/external/repo' +REPO_URL = 'https://gerrit.googlesource.com/git-repo' INT_MANIFEST = 'https://chrome-internal.googlesource.com/chromeos/manifest-internal' EXT_MANIFEST = 'https://chromium.googlesource.com/chromiumos/manifest' @@ -33,7 +34,7 @@ def run(cmd, **kwargs): kwargs['stdout'] = subprocess.PIPE kwargs['stderr'] = subprocess.PIPE - print(kwargs.get('cwd', os.getcwd())) + #print(kwargs.get('cwd', os.getcwd())) print(' '.join(cmd)) return subprocess.run(cmd, **kwargs) @@ -65,18 +66,18 @@ def expand_branch(opts): def get_repo_topdir(opts): """Find the top dir of this repo client checkout.""" topdir = os.getcwd() - while True: + while topdir != '/': rdir = os.path.join(topdir, '.repo') if os.path.exists(rdir): break topdir = os.path.dirname(topdir) - assert topdir != '/' return topdir def set_git_config(opts): """Set .git/config settings in all the repos.""" topdir = get_repo_topdir(opts) + assert topdir != '/' rdir = os.path.join(topdir, '.repo') def gcfg(path, *args): @@ -119,6 +120,9 @@ def init_repo(opts): branch = expand_branch(opts) cmd += ['-b', branch] + if opts.worktree: + cmd += ['--worktree'] + ret = run(cmd) if ret.returncode: return ret.returncode @@ -142,7 +146,7 @@ def get_parser(): formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument('-b', '--branch', help='Switch branches (use "main" to get to ToT)') - parser.add_argument('-r', '--ref', '--reference', default='~/chromiumos/', + parser.add_argument('-r', '--ref', '--reference', #default='~/chromiumos/', help='Patch to reference repo (default: %(default)s)') parser.add_argument('-g', '--group', help='Manifest group to use (e.g. "minilayout")') @@ -150,6 +154,8 @@ def get_parser(): help='Manifest file name to use (e.g. "full.xml")') parser.add_argument('-e', '--email', default='vapier@chromium.org', help='E-mail address to force (default: %(default)s)') + parser.add_argument('--worktree', action='store_true', + help='Enable worktree mode') parser.add_argument('action', nargs='?', choices={'depot_tools', 'dt', 'int', 'ext'}, help='What to do!') -- 2.39.5