回购工具删除结帐中的过时路径

repo tool deletes obsolete paths in checkout

如果您的存储库有一些路径由回购工具使用 manifest-file/group/branch 同步并且您 运行 在同一个存储库中再次执行回购命令(init->sync->checkout)但是由于其他一些 manifest-file/group/branch 具有一组不同的项目路径,因此当前执行的回购命令将 remove/delete 不必要的项目路径。

至少,我对 repo 工具的期望是,与当前执行无关的项目路径保持原样。

但是,相反,您会看到一系列日志行,表明过时的路径已被删除,因为它们不是必需的。

Deleting obsolete path /path/to/other/project1
Deleting obsolete path /path/to/other/project2
Deleting obsolete path /path/to/other/project3
Deleting obsolete path /path/to/other/project4

回购工具有这个设计。

我在 Internet 上查看了多个问题以寻求解决方案,但找不到任何解决方案。
最后,我可以设计自己的 WAR.

在内部,repo 工具以两种方式决定保留和删除哪些路径。

  • 如果要删除的路径有一些变化,则忽略删除它们。
  • 通过比较project.list文件夹中的.repo文件&只保留其中列出的那些。

方法 1 对我来说用处不大,因为在结帐之前我碰巧重置了整个工作树。
另一方面,方法 2 正是我所需要的。

WAR
更新存储库的 .repo 文件夹中的 project.list 文件以删除您认为 repo 工具不应删除的路径。
假设我不希望 repo 工具弄乱我的路径“/path/to/other/project3”,那么我将从 project.list 文件中删除这一行。