我在Windows中使用towise svn.
我怎样才能在SVN中分支并让它分支我的svn:external文件夹呢?
这对tortoiseSVN有可能吗?:
始终冻结svn:externals标签
方案是我们的主干将始终使用'HEAD'修订版的外部,但是当我们创建'标签'时,我们希望他们有一个外部版本设置,以便在特定时间点正确"冻结"它们.
更新
感谢大家的反馈/信息.
因为我无法找到任何东西,将完全满足我们的需求(尝试smartsvn和svncopy.pl)我做了,到目前为止已经通过了所有我们的测试情况下,一个控制台应用程序.
高级概述:应用程序获取存储库URL然后查找所有外部因素并为它们添加最后一次提交修订 - 我执行svn info并获取"提交修订".
该应用程序适用于文件夹和单个文件外部.
以下是源代码和完整的安装文件:http: //svnxf.codeplex.com/
我们有许多项目使用共享组件(dll)的共同基础.目前,每个项目的开发构建都链接到从组件主干构建的dll.(即主干版本使用来自其他主干版本的dll)
当我们进行发布构建时,我们有一个脚本遍历项目文件并将中继引用替换为组件的特定编号版本(从标记分支构建)
我认为这削弱了我们在开发过程中所做的测试,因为我实际工作的项目是使用不同的dll来发布版本将使用的.我希望始终针对组件的编号版本进行开发,并且只在有特定需求时才更新它们.
然而,团队中的其他人认为除非我们针对主干进行开发(并且每个版本更新到组件的更新版本),否则我们将遇到以下问题:(a)我们的产品几乎不会更新到新版本的组件( b)当我们确实需要更新它将是一项艰巨的任务,因为组件源/接口将发生如此大的变化.
你遵循什么做法,为什么?
编辑:对不起所有,我刚刚意识到我有一些困惑的事情,提到有几个主要产品共享组件 - 虽然他们共享组件,他们不在同一台PC上运行.我关心的是这样的事实:因为组件可能随着产品的每次发布而改变(即使没有特定的更新组件的要求),测试会遗漏在组件中完成的一些微妙变化,而与组件无关正在对产品进行的具体工作.
在使用TortoiseSVN合并项目的两个分支后,我遇到了提交更改的问题.
这是详细信息:
我做了一个合并分支到我正在进行的项目的主干.
项目包括主存储库和与主存储库连接的库,作为svn external(库也分支)作为项目的子目录.
当我试图提交更改时,TortoiseSVN说:
Commit A
re all the targets part of the same working copy?
Unable to lock 'D:\websites\project\lib'
Please execute the "Cleanup" command.
Run Code Online (Sandbox Code Playgroud)
当然清理没有帮助.
svn:项目目录的外部关键字定义良好,lib文件夹中仍然包含适当版本的库(trunk版本).
SVN服务器和客户端都是1.5.x版本(TortoiseSVN是1.5.3.x).
从技术角度来看,项目和库都是同一SVN存储库中的项目.
知道出了什么问题吗?
我一直在google搜索解决方案,但没有找到任何有用的东西,所以我尝试分两步提交我的更改:
哪个没有任何问题.
但我仍然想知道为什么我不能在一次提交中提交所有内容.
EDITS: