提交修订控制时,需要开发人员更改自己的配置

时间:2011-08-22 13:52:37

标签: git svn version-control mercurial

当提交到修订控制的更改需要开发人员获取更新的某些特定附加操作时,通知其他开发人员的最佳方法是什么?修改不在版本控制中的本地配置文件?

我目前正在提交消息中写它,但似乎很容易错过。任何修订控制系统是否提供了更好的方法?

其他人如何做到这一点,或者是否应该永远不会有任何超出版本控制的必要变更?

我正在使用mercurial,但使用其他形式的修订控制的人的答案也很有用。

5 个答案:

答案 0 :(得分:6)

在修订控制范围之外,很少需要进行必要的更改。对于极少数情况,使用开发人员的常规沟通渠道(如邮件列表或IRC频道或类似的东西)。无论如何,每个多开发人员项目都需要这样的东西。

答案 1 :(得分:5)

使用git,你可以做什么(即使它不适用于那种情况)是使用filter driver,前提是你的提交包含对具有a的文件的更改recognizable content(过滤器​​没有文件的名称或路径)。

enter image description here

过滤器驱动程序是:

  • .gitattributes文件中声明(意思是,与钩子或触发器相反,您可以轻松地分发它)
  • 附加到污迹和清晰的脚本(也是版本化的,污点是在提交时触发。
  • 您可以在提交时触发您需要的任何自动操作。

同样,重点是不使用钩子(你不能在repos中轻松复制),并使用一种可以进行版本化和克隆的机制。

答案 2 :(得分:3)

个人而言,我使用了两种方法:

  1. 沟通之一:我告诉其他开发人员要做什么操作才能做到最新(正确,但有时,我们会错过一些细节......)
  2. 脚本化的:我制作了一个update脚本,用于管理项目所有部分的更新(不同的目录,不同的存储库,不同的版本控制......),在这个脚本中我放了维护正确存储库所需的每个操作(我将它用于svn和git存储库)。

答案 3 :(得分:2)

只是一个想法,但你可以根据提交消息中的模式触发,向发展商发送带有提交评论的邮件

可以使用hooks

答案 4 :(得分:1)

对于每个开发人员需要进行本地更改的文件(如数据库连接字符串等),我喜欢将模板保存为跟踪文件,例如localconfig.template。在您的构建/启动脚本中,您可以使用以下逻辑:

if not exists localconfig then
  copy localconfig.template to localconfig
else
  if localconfig.template is newer than localconfig
    print a big ugly warning about maybe needing to update