我来自 CVS 背景。我目前正在研究将 SVN 用于项目。我处理的代码往往位于以下目录结构中。
项目\库\lib1
项目\库\lib1\测试
项目\库\lib1\模拟
项目\库\lib2
等等
当我在 CVS 中标记发布时,我倾向于创建两个标记,一个是“project-release-1”,一个是“project-release-1-with-tests”。“project-release-1”标签不包括测试目录和模拟目录以及可能的其他一些文件。我们的想法是,我们通常不将测试源发送给客户,通过导出“project-release-1”标签,我们可以获得客户的一组源,我们可以将其发送给他们,并通过在“project-release-1-with-tests”标签我们得到了所有可以用于分支的东西,如果需要进行持续开发的话。
我如何用 SVN 做类似的事情?理想情况下是可以编写脚本的形式;使用 SVN,我们每个项目都有一个脚本,它将应用两个标签并通过简单地从测试和模拟目录中删除标签等来创建客户端标签......
我猜在SVN中我会创建“with tests”标签,然后(不知何故)检查出来,删除测试和模拟目录并创建客户端发布标签?
更新:
我决定改变我做事的方式......而不是每个项目都有一个脚本来设置我的旧式双标签,我现在每个项目都有一个脚本,它采用标记版本(其中包括我没有的东西运送给客户)并删除我不运送给客户的东西。工作完成,只需要一个标签。