使用 hg 命令行提交大量文件(在 windows 上)?

Commit a lot of files (on windows) using hg command line?

我有一个包含很多文件的存储库。那里大约有 5000 多个文件。通常我一次只提交大约 20-30 个更改。但是我们时不时地合并一个相当大的更新,并且更改的文件数量会增加得非常快。

我可以在 TortoiseHg 上轻松做到这一点。我 select 我想提交的文件并提交。

问题是,我需要在 C# 程序中执行此操作。目前我正在使用 System.Diagnostics.Process 这样做,运行 hg.exe 并将所有要提交的文件作为参数传递。

但是如果有很多文件并且提交消息很长,我超过了windows命令行32k字节的限制。

我可以使用任何解决方法吗?以某种方式给 hg.exe 一个包含命令或类似内容的文件?

我也尝试阅读 TortoiseHg 的源代码以检查他们是如何管理它的,但这是一个相当大的项目,所以我无法(还)追踪到实际 hg-command 的启动点。

使用listfile: 指定包含文件列表的文件。有关详细信息,请参阅 File Name Patterns

您还可以使用 --logfile <FILE>

指定提交消息来自文件