我在不使用Team Foundation Server的情况下在Visual Studio 2010中实现了源代码控制系统 . 为了实现这一目标,我选择 AnkhSVN 作为Visual Studio 2010中的subversion插件,选择 VisualSVN Server 作为源存储库服务器(我不使用其客户端) .
所有设置都成功,我在VisualSVN中创建了一个存储库,并在VisualStudio 2010中激活了AnkhSVN插件 .
根据源代码控制的最佳实践,我想为每个解决方案添加到subversion存储库,子文件夹结构 "branches/tags/trunk" ,如下所示:
RepositoryFolder
Solution1
Branches
Tags
Trunk
Solution2
Branches
Tags
Trunk
...
VisualSVN服务器在创建subversion存储库时,询问您是否要拥有此"branches/tags/trunk"子文件夹结构 . 假设存储库是 empty ,VisualSVN将这3个子文件夹放在存储库文件夹下 .
当我在Visual Studio 2010下使用AnkhSVN向存储库添加解决方案时,它会在存储库文件夹下为解决方案创建一个新文件夹 . Visual Studio询问我是否只想创建trunk文件夹 . 因此,我将得到这样的结构:
RepositoryFolder
Branches
Tags
Trunk
Solution1
Trunk
那显然不是我想要的 . 如何在Visual Studio中添加的每个解决方案下面将VisualSVN和AnkhSVN设置为 automatically create (and retrieve) "branches/tags/trunk"结构?
谢谢
弗朗切斯科
2 回答
你不能这样做(至少对于 VisualSVN Server ,而不仅仅是"VisualSVN",这是Visual Studio的Subverson-plugin):服务器只能自动添加一个常规树:在repo的根目录中
您可以使用VisualSVN Server的WMI provider来编写脚本,该脚本将预先创建您想要的任何存储库/项目结构 . 但是,该任务需要访问服务器机器(即运行脚本的帐户,必须具有足够的权限来远程管理VisualSVN服务器) .
您可以编写一个脚本来管理VisualSVN服务器,它的WMI提供程序(即它的接口)位于安装VisualSVN Server的计算机上的以下文件夹
%VISUALSVN_SERVER%WMI
中 .例如,VisualSVN Server的WMI提供程序允许您创建具有预定义结构和预定义钩子脚本以及已就位的授权设置的存储库 .
为了创建存储库,可以使用
VisualSVN_Repository
类的Create
方法,CreateFolders
方法可用于提交新项目结构或单个文件夹 .