我想使用Subversion与基于脚本的开发体系,不知道做什么不同的,以我的通常情况下(C#/。NET)。

在正常的一天到一天的更新/提交周期将正常工作,如将改变跟踪和修订的比较。当我想一些建议是围绕部署的处理。

通过该脚本系统,有不涉及不同构建步骤 - 相反,部署涉及直接上传所选脚本转换成所述主机应用程序。

不一定包括以脚本的变化在下一版本 - 它们可被发往后,释放,或再下一个。

在一个理想的世界,我希望能够分配脚本到一个给定的版本,说“2009年9月”的发布,一旦它被测试,然后拉出所有的脚本,该版本与单命令。

<强>更新

据我所知,没有标签,也没有变更表将是答案。

修改列表不是持久的(不要在资源库中不存在的),我需要一个解决方案,让很久以后的审查。

标签实际上是相同的分支 - 它们包含的所有的默认文件,你只能选择哪个版本。

我希望的做法,将开始用的的空分支的成特定的文件版本可能需要置于。

<强>更新2

的两个例子,示出了如何可以支付与在其他工具featues这种情况。请注意,我不是在所有宣传这些工具,我想用颠覆,我只是试图找出如何。

使用 QVCS 时,我可以通过施加一个标签特定修订实现我期望的结果一个文件。该标签会留在地方,连接到该文件的那个版本。在任何时候,我可以做一个干净的检出,到一个空目录,并指定只有具有指定标签的文件应该被复制了。

类似地,与的StarTeam 时,我可以将标签应用到文件修订,并检查了文件只有与该标签。

有帮助吗?

解决方案

“在一个理想的世界,我希望能够分配脚本到一个给定的版本,说‘2009年9月’的发布,一旦它被测试,然后拉出了所有的脚本释放与一个命令“。

这正是代码设计用于

其他提示

您可以使用Subversion分支管理您的“未来”的版本。当你作出这样的注定在未来版本中的改变,它提交到适当的分支。到时候所有这些未来的功能拉入行李箱,合并分支。

这是不是真的从工作流程不同,使用Subversion和编译语言,或者实际上用于任何其他目的。

请参阅普通的分支模式的部Subversion书中以获取更多信息。特别是,“功能分行”部分的声音最适合您的情况。

一个解决办法是使用svn mkdir(代替svn copy)开始一个新的分支,然后有选择地复制被svn copy的方式从主分支所需的文件

我看到的问题 - 这已经无关SVN。要存储在发布分支的一些文件,而不是其他。因此,无论分支整个发布目录,然后删除你不希望在那里显示的文件;或创建一个新的空目录,仅复制你想要的文件。

它是那么简单。你并不需要在所有复杂的变更表或标签或任何东西,也没有颠覆系统就能猜你想要的文件。就个人而言,我会做支部+删除选项,那么你可以,如果你决定你想要的文件回在稍后的日期撤消删除操作。

我相信,在SVN 1.6,你可以有指向单个文件的外部。 所以,如果你愿意,你可以创建一个空的树结构和定义一组在其上的外部由此带来你想要到结构中的文件。这会给你一个怎样的一个分支的“实时取景”的。

您也许可以直接从后备箱中引用的文件版本 - 或者你可以分层的方法,并使用发布分支在特殊的版本合并,然后引用发布分支在您的“实时取景”的外观等。这样一来,通过合并修订发布的功能 - 正常保持版本控制和合并的历史,然后在服务器上SVN更新会拉这些文件放到结构直播

缺点是,这将是很难切换到diffrerent分支(比如旧的标签,因为在新版本中的问题) - 你不得不手动编辑您的所有外部定义。这可能不是一个问题,如果他们都在同一个目录中,但如果你要到处寻找他们可能是一个痛苦。

在文件的外部小信息是在SVN 1.6版本说明

这听起来像你正在寻找关于特定脚本的元数据。因此,一种选择是你的脚本保存为独立的文件,并使用 SVN性能的。 SVN属性可以存储与文件相关联的键 - 值对。

例如,以反映你的“标签”例如,你可以为每个你决定在一个特定的版本,包括文件的属性。在这种情况下,创建具有一个值“2009年9月”属性“真”。

生成部署包时,您可以再选择只与“2009年9月”属性的文件。

使用,当你要跟踪的资料库修改随着时间的推移,以及产生的diff,看看这些变化是标签和分支是有用的 - 但它是整个仓库的一个快照......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top