0

我想根据我在存储库中使用代码的环境,在 git 版本控制的 php 脚本中修改一些配置字符串。

我想设置一个涂抹/清洁过滤器来根据平台修改代码中的配置字符串,我正在检查(开发/测试)。我的脚本在里面~/scripts,我想添加一个配置文件~/scripts/config来设置脚本使用的值

我有不同的项目(在不同的存储库中),其中包含相同的文件,但它们应该进行不同的修改,因此脚本需要知道它是从哪个存储库调用的。

.gitattributes有没有办法在作为环境变量传递给过滤器脚本的文件中设置项目 ID ?

例子:

内容.gitattributes

PROJECT_ID = "ProjectX"

涂抹脚本的内容(伪代码):

host = getConfigValueFromFile(projectXhost)
if $PROJECT_ID == "ProjectX" then
    print 'host=$host'
4

2 回答 2

1

您可以在存储库配置中设置任意值。例如,您可以像这样设置一个变量:

$ git config mytool.myvariable myvalue

并像这样检索它:

$ git config mytool.myvariable
myvalue

因此,您的涂抹/清洁脚本可以简单地调用git config mytool.myvariable并读取输出以获取您配置的信息。

于 2012-06-04T15:29:21.657 回答
0

我自己找到了答案:

使用(新)repos 目录作为工作目录执行 clean/smudge 脚本。因此,可以将文件例如.projectID放在您的存储库中并在涂抹脚本中读取其内容。

于 2012-06-04T16:26:02.050 回答