alibaba / git-repo-go

git-repo is a command-line tool for centralized workflow, can work with Gerrit, AGit-Flow compatible servers. It is written in Golang, and it can be installed easily without further dependency. It provides an easy-to-use solution for multiple repositories which is introduced by Android repo first, and it can also work with a single repository.
https://git-repo.info/
Apache License 2.0
262 stars 60 forks source link

有没有办法简单地是用本地的manifeset.xml来初始化呢? #37

Closed Ncerzzk closed 2 years ago

Ncerzzk commented 2 years ago

RT,目前使用的办法是先用repo init -m 指定库上的.xml,然后在本地手动替换manifest.xml,再repo sync,有没有直接一点的办法呢?

jiangxin commented 2 years ago

从 manifest 仓库进行初始化,可以根据 manifest 仓库的 URL 来算出其他仓库的 URL 地址。

  1. 如果没有 manifest 仓库,而是从一个本地 XML 来初始化,要么在 XML 中为每一个项目写上完整的仓库路径,要么通过新的标签设置仓库的 base url。
  2. 如何确定工作区的根目录?目前的设计是在子仓库工作中,通过向上递归找到 .repo/ 目录就找到了工作区的根,在其中也就找到了 manifest 文件。
Ncerzzk commented 2 years ago

从 manifest 仓库进行初始化,可以根据 manifest 仓库的 URL 来算出其他仓库的 URL 地址。

  1. 如果没有 manifest 仓库,而是从一个本地 XML 来初始化,要么在 XML 中为每一个项目写上完整的仓库路径,要么通过新的标签设置仓库的 base url。
  2. 如何确定工作区的根目录?目前的设计是在子仓库工作中,通过向上递归找到 .repo/ 目录就找到了工作区的根,在其中也就找到了 manifest 文件。

如何通过新的标签来设置仓库的base url呢?

jiangxin commented 2 years ago

从 manifest 仓库进行初始化,可以根据 manifest 仓库的 URL 来算出其他仓库的 URL 地址。

  1. 如果没有 manifest 仓库,而是从一个本地 XML 来初始化,要么在 XML 中为每一个项目写上完整的仓库路径,要么通过新的标签设置仓库的 base url。
  2. 如何确定工作区的根目录?目前的设计是在子仓库工作中,通过向上递归找到 .repo/ 目录就找到了工作区的根,在其中也就找到了 manifest 文件。

如何通过新的标签来设置仓库的base url呢?

manifest 仓库的 XML 文件中,项目地址都是相对地址,是通过 git repo init -u <URL> 中给定的 manifest 仓库地址确定的。“新的标签” 是什么含义?