如何在SVN中分支,并使其也分支我的svn:external文件夹?
我在Windows中使用乌龟svn。
I'm using tortoise svn in Windows.
如何在SVN中分支并使其分支我的svn:external文件夹?
How can I branch in SVN and have it branch my svn:external folders as well?
您应使用 svn:externals
作为来自以下内容的 external 引用不同的存储库。因此 svn:externals
应该指的是组件,模块,第三方工具等。
You should use svn:externals
as external references from different repositories. So svn:externals
should refer to components, modules, 3rd party tools, etc.
您应 使用 svn:externals
来模拟符号链接行为,即通过使用外部变量指向同一存储库来进行。
您通常可以通过修改构建结构来解决此类问题,或者使用checkout-scripts和稀疏签出功能。
You should not use svn:externals
to emulate a "symbolic link"-behaviour by using externals to point into the same repository.
You can solve such issues most of the time by modifying your build-structure, or use checkout-scripts and sparse checkout feature.
svn:外部对象具有许多问题大多数很难看到,跟踪和修复:
在此处查看示例
svn:externals have a lot of problems most of them are difficult to see, track and repair: see an example here
- 提交不能跨越外部对象(无原子提交)
- 分支机构不会分支其外部组件(如您所指出的那样)
- 标签不会冻结其外部组件,因此后面的版本可能会导致不同的版本/损坏的版本
- 合并和reeintegrate合并不适用于外部容器
- commits cannot span over externals(no atomic commits)
- branches will not branch their externals(as you pointed out)
- tags will not "freeze" their externals so latter builds may result in different/broken builds
- merging and reeintegrate merge will not work on externals
如果您使用外部容器指向其他存储库,则将大部分时间没有这些问题。
If you use externals to point to other repositories, you will most of the time do not have these problems.