0

我有两个存储库,一个具有设置和安装脚本,用于配置项目中的各种内容。第二个回购是项目本身。

设置脚本需要放在项目中,但我不希望它们提交给项目。

我通常通过 svn-ignore 忽略设置脚本,然后手动将脚本复制到项目中,以便它们可以执行。

这样做的问题是脚本可能会随着时间而改变,我想让它们都保持最新。

我正在寻找一种方法来将设置脚本检出到项目工作目录中,同时忽略它们。

这样,我在每个项目中保持安装脚本是最新的,但同时不会将它们包含在任何导出或部署中。

有什么办法可以做到这一点?

4

2 回答 2

0

你能给我们一个脚本和项目的 URL 示例吗?它会帮助我们想出一些东西。

在我的脑海中,我会说你正在使用的任何构建脚本都应该负责将设置脚本(通过 a svn export)复制到你的工作目录。你用什么语言编程?

另外,看看我的pre-commit hooksvn:ignore仅适用于当前目录,本质上是建议性的。它不会阻止某人提交文件,如果文件已提交,svn:ignore则什么也不做。我的预提交钩子允许您阻止某人提交整个目录树。

假设您的 Subversion 存储库是这样布局的:http://svnserver/svn/trunk/myproject. 您dist在项目根目录下的目录下构建您的项目。因此,您不希望用户添加http://svnserver/svn/trunk/myproject/dist目录或该目录下的任何子目录。

使用我的预提交挂钩,您可以将控制文件设置为如下所示:

[file You can't add files into the in the build area of your project.]
file=/*/*/dist/**
access=read-only
users=@ALL

现在,用户将无法添加该dist目录下的myproject目录,或该目录下的任何子目录或文件。

如果我明白你想要什么,这应该会有所帮助。

于 2013-03-15T18:57:02.360 回答
0

作为一种解决方案,我更改了安装脚本中的路径,并添加了一些提示问题,例如项目的位置。

数据库脚本仍然与项目 repo 一起保存,但运行这些脚本的脚本不是。

我基本上将安装脚本与项目分离,现在我可以在项目之外运行安装。

运行安装时,它首先会扫描项目文件夹并提示我选择项目。

于 2013-03-24T08:29:09.033 回答