复制后如何查找单个文件的父文件?

时间:2010-12-06 09:37:03

标签: mercurial

作为标题,如果我从一个文件复制到目标文件,那么我提交更改。之后我想找到复制文件的父文件,我该怎么办?例如......

  

hg copy file1 file2
  hg ci -m“copy file1 to file2”

如何查找file2的父级?如果我使用hg parents命令,则只查找changeset的parent而不是file2。

感谢....

3 个答案:

答案 0 :(得分:7)

hg log提供设施

hgt $ hg log --copies -v b.py 
changeset:   1:a9c003a9bddb
tag:         tip
user:        "xxxxx"
date:        Mon Dec 06 01:40:01 2010 -0800
files:       b.py
copies:      b.py (a.py)
description:
copied file

使用verbose mode--copies查找文件是否已使用hg copy命令

答案 1 :(得分:2)

使用--template格式化日志:

hg log --template "{file_copies}\n" file2.txt

过滤空字符串(第一行 - 在Unix中,第二行 - 在Windows中):

hg log --template "{file_copies}\n" file2.txt | grep .
hg log --template "{file_copies}\n" file2.txt | findstr /R "."

答案 2 :(得分:0)

嗯,一种方法是你可以对文件进行差异化处理:

hg log file2 -r 0:

如果您知道引入它的变更集,则应在冒号后指定:

hg log file2 -r 0:1

输出:

[C:\Temp\repo] :hg diff test2.txt -r 0:1
diff --git a/test1.txt b/test2.txt
copy from test1.txt
copy to test2.txt

但可能有更好的方法。