我注意到文件original.txt
中有一个错误。然后如何找到通过copy.txt
创建的所有文件hg copy original.txt copy.txt
?
我看着Mercurial revset。唯一提到“副本”的地方是:
"follow([file[, startrev]])"
"::."
的别名(工作目录的第一个父项的祖先)。如果指定了file
模式,则将遵循startrev
给定的修订中与给定模式匹配的文件的历史记录,包括副本。
显然使用了hg log -r "follow('copy.txt')"
之类的东西,我发现它是从[[from original.txt
复制的,但是不是相反的(original.txt
是从[[to复制的)。
((当信号字符串合并到新文件时,可能会使FP在合并集上不做任何校正)
如果您在original.txt
中具有唯一数据(在回购中的所有文件
中),则可以为该字符串grep回购,例如hg grep -ldq "ID"
更自然的方式
因为更改集的重命名文件是“删除旧文件,添加新文件,所以可以
在[reset]中以removes(original.txt)
形式使用“ removes(pattern)”谓词>
-T"{file_copies}\n"
用于日志hg log -r "removes(original.txt)" -T"{file_copies}\n" original.txt
revset可以作为参数化的revsetalias重用(对于[[any
添加
对于“仅复制”变更集的低噪声输出,可以使用修改后的revset(TBT !,我太懒了)-r“!modify(original.txt)”