是否有针对脚本库的推荐存储库布局?

时间:2015-12-16 10:04:13

标签: svn version-control

免责声明 - 我对大型软件项目的存储库布局的最佳实践非常熟悉,但是对于维护(大多数)单文件脚本的集合来说,它们似乎有点过分

我的脚本库包含各种语言(Perl,batch,Powershell等),主要是命令行实用程序。我希望围绕它们包含一些源代码控制来涵盖以下主要用例:

  • 隔离开发分支(添加功能,命令行选项等)。
    • 最常见的是,我为了一次性的临时任务而一起猛击一下,后来我修改了&为了更广泛的用途而改进它。
  • 如果引入了我可能几周或几个月都没有注意到的错误,可以回复一下。

保持简单,愚蠢

我认为最初只需将我的脚本文件夹原样放入存储库。

优点是它非常简单,允许无痛svn export“部署”。缺点是完全不相关的脚本文件之间缺乏分离(它们共同的唯一共同点是它们存在于我的%PATH%变量前面的文件夹中):任何工作都涉及分支整个文件夹结构。这绝不是一个交易破坏者;它只是不理想,IMO。

隔离有希望吗?

每个脚本的文件夹方法。

好处是它给了我一个点,我可以从中分支单个脚本。缺点是:a)它突然接近标准的存储库结构(主干,标签,分支),并带有所有相关的开销; b)。

如果两者之间有任何中间立场,我似乎无法找到它。

在我决定走上一条道路或另一条道路之前,源代码控制非常适合我从一开始就要做的事情。

仅供参考,我在programmers上发布了这个问题,并且没有任何解释就被遗忘了。对于打算在这里做同样事情的人,我会很感激入门级礼貌的解释。

在我发布之前,我花了很多时间试图找到这个问题的任何答案,我清楚地概述了我已经考虑过的内容以及每个问题的优缺点,我想要实现的目标(以及我的目标是什么) t),为什么我的案例(IMO)与大多数SVN文献所针对的最常见案例有很大不同。

我并没有在没有尝试任何研究的情况下懒得解雇这个问题,而且我认为它不值得进行这种破旧的治疗。

1 个答案:

答案 0 :(得分:1)

我建议您将SCM与发布/分发系统保持一致。就像在SCM中可能有分支,标签和任何目录布局一样,然后使用适当的工具发布/分发脚本。您可以查看sparrow - 用于开发和分发脚本的工具。至少它可以通过将脚本视为具有版本,所有权和文档的通常软件包来解决一些提到的问题。

PS。披露 - 我是工具作者