SVN - 如何将单独检出的子文件夹转换为稀疏检出

SVN - how to transform individually checked-out sub-folders into sparse checkout

SVN 存储库如下所示:

顶部/
top/one
top/two
top/three
...等等

您不想检查整个 top 文件夹,但您不知道 SVN's sparse checkout feature.
因此,您将回购文件夹 top/one 检出到 C:\svn\top\one 然后检出回购文件夹 top/two 变成 C:\svn\top\two

此时,两个签出的文件夹都有自己的 .svn 文件夹

然后你发现sparse checkouts

问题

如何将这两个文件夹的 "standalone" 检出转换为顶级文件夹的稀疏检出 并且最少的重新检出

是不是像在不覆盖现有项目的情况下启动稀疏签出然后简单地删除预先存在的 .svn 文件夹一样简单?

SVN 以递归方式工作,这意味着每个文件夹大多独立于其父文件夹。所以问题来自父文件夹中的 .SVN,这是您要从头开始重新创建的文件。

重命名您以前的文件夹 (.old) 并创建一个新文件夹。在该文件夹中执行 Sparse Checkout。它应该下载文件,但您可以使用 --depth empty.

来阻止它

然后,将您的旧文件夹移回新创建的 Sparse Checkout 文件夹中,并对其进行清理。 SVN会递归扫描并修复文件夹。