我有两个回购站,一个有设置和安装脚本,它们可以配置项目中的各种事物。第二个回购是项目本身。SVN包含并忽略另一个存储库
的安装脚本需要被安置的项目中,但我不希望他们致力于项目。
我通常通过svn-ignore忽略安装脚本,然后手动将脚本复制到项目中,以便它们可以执行。
这种麻烦的是,脚本可能会随时间而改变,我想保持他们都跟上时代的。
我正在寻找一种方法来检查安装脚本到项目工作目录中,同时忽略它们。
这样我就可以在每个项目中保持最新的安装脚本,但同时不会将它们包含在任何导出或部署中。
有什么办法可以达到这个目的吗?
我试过结合svn外部和svn忽略属性,但这并没有奏效。我想出的解决方案是象征性地将脚本工作目录链接到项目工作目录中的文件夹中。然后,我使用svn-ignore属性将该文件夹保留在项目提交之外。我仍然可以修改脚本并将它们提交回自己的存储库。到目前为止,这个解决方案工作得很好 – pfwd 2013-03-15 17:35:53
为什么你不想把它们放在同一个存储库中?听起来他们应该是 - 你不必担心让他们保持最新状态。 – thekbb 2013-03-15 21:59:23
这两个存储库是分开的,因为我们不想在任何生产服务器上部署bash + php脚本。其中一个脚本通过删除和重新创建数据库来配置本地环境。它还通过设置svn ignore和external properties来重新配置当前项目工作目录。在此之后,它将构建一个作曲家模式并填充供应商目录(它刚刚添加)。本质上它是一套用于构建和更新本地开发环境的脚本。一旦项目准备就绪,我就可以使用Capistrano来部署该项目。 – pfwd 2013-03-15 22:47:08