]> git.wh0rd.org Git - home.git/commitdiff
cros-repo: minor tweaks main
authorMike Frysinger <vapier@google.com>
Mon, 12 May 2025 19:03:35 +0000 (15:03 -0400)
committerMike Frysinger <vapier@google.com>
Mon, 12 May 2025 19:03:35 +0000 (15:03 -0400)
.bin/cros-repo

index d3e1946771aaae0bd56240ebd08f808ecacf4b93..91cd8f94c0f734e2722c40f5ffb4a89c2e930091 100755 (executable)
@@ -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!')