我正在执行许多python脚本,所有脚本都使用相同(大)框架的一部分。我使用这个框架的不同版本,都在版本控制下,因为每次测试都使用它的不同部分,我决定只签出我需要的部分会更快。换句话说,我希望使用稀疏结帐。我的意图是一步一步地签出一个空的工作副本,然后一次又一次地更新,以便随着时间的推移收集(几乎)完整的框架。我使用python脚本和modulefinder来决定每个项目需要框架的哪些部分。因此,我得到了以下结论:
项目Foo,框架树:
\R100
\Framework
\Module_1
\Submodule_1
\Submodule_5
\Module_2
\Module_3结帐例程:
svn checkout repo.url/Framework@100 local\R100\Framework --depth empty
svn update \local\R100\Framework --depth immediates --revision 100
svn update \local\R100\Framework\Module_1 --depth immediates --revision 100
svn update \local\R100\Framework\Module_1\Submodule_1 --depth immediates --revision 100
svn update \local\R100\Framework\Module_1\Submodule_5 --depth immediates --revision 100
svn update \local\R100\Framework\Module_2 --depth immediates --revision 100
svn update \local\R100\Framework\Module_3 --depth immediates --revision 100项目栏:
\R100
\Framework
\Module_1
\Submodule_1
\Submodule_2
\Module_2
\Module_3结帐例程:
svn checkout repo.url/Framework@100 local\R100\Framework --depth empty
svn update \local\R100\Framework --depth immediates --revision 100
svn update \local\R100\Framework\Module_1 --depth immediates --revision 100
svn update \local\R100\Framework\Module_1\Submodule_1 --depth immediates --revision 100
svn update \local\R100\Framework\Module_1\Submodule_2 --depth immediates --revision 100
svn update \local\R100\Framework\Module_2 --depth immediates --revision 100
svn update \local\R100\Framework\Module_3 --depth immediates --revision 100Moo项目:
\R100
\Framework
\Module_1
\Submodule_1
\Submodule_3
\Module_6
\Module_9结帐例程:
svn checkout repo.url/Framework@100 local\R100\Framework --depth empty
svn update \local\R100\Framework --depth immediates --revision 100
svn update \local\R100\Framework\Module_1 --depth immediates --revision 100
svn update \local\R100\Framework\Module_1\Submodule_1 --depth immediates --revision 100
svn update \local\R100\Framework\Module_1\Submodule_3 --depth immediates --revision 100
svn update \local\R100\Framework\Module_6 --depth immediates --revision 100
svn update \local\R100\Framework\Module_9 --depth immediates --revision 100问题是,每次连续的更新都是从删除已经存在的文件开始的,而不是只签出此工作副本文件的新文件。有什么方法可以克服这个问题吗?我意识到设置更新/签出深度是原因,但我想克服这一点,告诉svn客户端“好吧,这些文件和文件夹不再在签出的范围内,但既然它们已经在这里,无论如何都要保留它们”。
发布于 2017-06-17 05:43:42
你决定遵循的方法不会很好地工作,我预计这样的工作副本会带来很多痛苦。SVN提供了在设计时考虑到这些情况的工具。
在我看来,您特别缺少vendor branches或svn:externals。您可以在SVN存储库中研究和实现这些特性中的一个或两个:
svn:externals和SVN中的标记构建多个项目或签出的工作副本。https://stackoverflow.com/questions/44567016
复制相似问题