条件Mercurial忽略文件

Jan*_*Jan 6 deployment mercurial hgignore

我有一个mercurial文件,我希望开发机器拉动文件,但我希望部署服务器不要拉文件(它有dev机器没有的特殊模块).这可能,或者我应该只是自定义推送到服务器解决方案,而不仅仅是做一个hg拉?

ang*_*son 6

执行此操作的典型方法是执行以下操作:

您将每个文件的副本存储在存储库中,并正确命名它们.例如,如果有问题的文件是web.config,您将在存储库中存储以下两个:

  • web.server.config
  • web.dev.config

然后,您将添加一个构建的步骤以确保将正确的文件复制到实际web.config文件,您可以使用批处理文件:

if "%COMPUTERNAME%" == "SERVER" copy web.server.config web.config
if not "%COMPUTERNAME%" == "SERVER" copy web.dev.config web.config
Run Code Online (Sandbox Code Playgroud)

然后你会通过.hgignore忽略web.config本身:

glob:web.config
Run Code Online (Sandbox Code Playgroud)