分支的颠覆概念似乎侧重于创建整个存储库的[un]稳定分支,以进行开发.是否有创建单个文件分支的机制?
对于用例,请考虑具有多个特定于平台的源(*.c)实现的公共头(*.h)文件.这种类型的分支是永久性的.所有这些分支都会看到正在进行的开发,偶尔会进行跨分支合并.这与通常具有有限寿命的不稳定的发育/稳定释放分支形成鲜明对比.
我不希望分支整个库(便宜与否),因为它会造成维护的不合理量躯干和各分支机构之间不断融合.目前我正在使用ClearCase,它具有不同的分支概念,这使得这很容易.我被要求考虑过渡到SVN,但这种范式差异很重要.我更关心能够为单个文件轻松创建备用版本,而不是像剪切稳定版本分支那样.
您不必分支整个存储库.您可以在项目中创建文件夹分支(例如包含文件夹).正如其他人所说,你也可以只对一个文件进行"复制".获得文件或文件夹的副本后,可以"切换"到分支文件或文件夹以处理分支版本.
如果在存储库中创建单独的分支文件夹,则可以通过服务器端命令复制分支文件:
svn copy svn://server/project/header.h svn://server/branched_files/header.h
然后,您可以切换该文件以使用branches_files
存储库路径