Mercurial 防止文件更改

10 浏览
0 Comments

Mercurial 防止文件更改

我在一个使用Mercurial的团队工作,我们有一个被检入并且稳定的配置文件。

由于它是一个配置文件,一些团队成员需要对其进行更改以使软件在他们的机器上工作,但我希望阻止这些更改在检入时进入代码库。

我该如何做到这一点?

我希望默认的配置文件在代码库中,而用户所做的更改在提交时被忽略。

0
0 Comments

在Mercurial中,有一个问题是如何防止文件被更改。某些情况下了一个解决方法,即不要跟踪需要在本地副本中更改的文件,而是跟踪一个模板(或者修改配置系统,以允许本地配置文件覆盖默认文件)。

然而,有人对此提出了质疑,并表示在这种情况下是可以更改文件的。

0
0 Comments

在使用Mercurial进行版本控制时,有时我们希望防止某些文件的更改。下面是一些解决该问题的方法。

首先,我们可以参考类似问题的解决方案。在这个问题中,Git和SVN也提供了类似的解决方案。我们可以参考这些解决方案,以找到我们的解决方法。

在一个当前的项目中,我们决定将模板文件(例如template.properties)加入版本控制,并在本地使用时进行修改(例如local.properties),并将修改后的文件加入到忽略列表中。这是更加健壮的方法。

在另一个项目中,我们采取了不同的方法,为每个开发人员创建了一个单独的文件({activeDirectoryLogin}.properties})。根据当前用户自动选择适当的文件。这种方法有一些缺点,但由于我们在整个项目期间有一个相对小而稳定的团队(5名共同工作的开发人员),所以我们可以忽略这些缺点。优点是开发人员了解其他人的偏好,并且可以快速复现任何可能的问题。此外,这些设置可以很容易地在不同的系统上进行评估。

总之,为了防止文件更改,我们可以选择将模板文件加入版本控制,并在本地使用时进行修改并忽略修改后的文件,或者为每个开发人员创建单独的文件并根据当前用户自动选择适当的文件。这些方法都可以解决这个问题。

0
0 Comments

问题出现的原因是因为在Mercurial中,config文件的更改会影响到整个代码库,但有时我们希望避免这种情况发生。为了解决这个问题,一种常见的做法是将config文件从代码库中移除,并将其添加到.hgignore文件中,然后提供一个config.example文件,用户需要将其复制为config并进行自定义。如果希望尽量简化项目设置,可以将此复制操作放在构建脚本中进行。

参考链接:kostja的帖子中提供了一些相关链接。

0