如何获取Mercurial存储库中每个文件的最新版本号列表?

Kim*_*ble 7 mercurial

我为我的Web应用程序创建了一个构建系统,它正在重写所有资源URL以包含文件的修订号(以改进客户端缓存).截至今天,我正在为每个文件运行此命令以获取修订号:

hg log --template '{rev}\n' path-to-file
Run Code Online (Sandbox Code Playgroud)

为每个文件执行hg 非常耗时.是否有快速方法列出具有最新版本号的存储库中的所有文件?

Ry4*_*ase 2

这可以做到这一点,但请参阅上面我的评论,了解为什么在工作流程中的任何地方使用它可能是一个坏主意。在列表中,您应该使用修订哈希而不是数字,因为克隆时它不会改变。此外,这并不是非常有效,但至少它只有两个进程实例化,而不是每个文件一个:

hg grep --all '.' | perl -na -F: -e 'next unless ($F[2] eq "+"); print "$F[0] $F[1]\n" unless ($prev eq $F[0]); $prev = $F[0]'
Run Code Online (Sandbox Code Playgroud)

例子:

that 3
file 1
Run Code Online (Sandbox Code Playgroud)