我有一个由 Mercurial (project main
) 控制的项目版本。该项目sub
通过main
指向sub
. 符号链接将添加到main
的存储库中。
问题是 Mercurial 没有检测到对目标文件的更改sub
,没有将符号链接标记为“M”(已修改)。
情况如下例所示:
创建、初始化和提交初始 repos:
$ mkdir crap
$ cd crap
$ mkdir main sub
$ cd sub
$ nano sub.txt
$ hg init
$ hg add sub.txt
$ cd ../main/
$ nano main.txt
$ ln -s ../sub/sub.txt ./sub.txt
$ ls -la
total 24
drwxrwxr-x 2 ruslan ruslan 4096 Jan 15 12:51 .
drwxrwxr-x 4 ruslan ruslan 4096 Jan 15 12:48 ..
-rw-rw-r-- 1 ruslan ruslan 20 Jan 15 12:51 main.txt
lrwxrwxrwx 1 ruslan ruslan 14 Jan 15 12:51 sub.txt -> ../sub/sub.txt
$ hg init
$ hg add main.txt sub.txt
$ hg commit -m "First"
$ cd ../sub
$ hg commit -m "Sub First"
$ hg status ./sub -A
C sub/sub.txt
$ hg status ./main -A
C main/main.txt
C main/sub.txt
现在修改并提交目标sub
:
$ nano ./sub/sub.txt
$ hg status ./sub -A
M sub/sub.txt
$ hg commit ./sub -m "Modified"
$ hg status ./sub -A
C sub/sub.txt
现在状态main
显示引用目标的符号链接未标记为“M”:
$ hg status ./main -A
C main/main.txt
C main/sub.txt
sub
在没有提交的情况下再次修改显示'M' insub
但不在main
:
$ nano ./sub/sub.txt
$ hg status ./sub
M sub/sub.txt
$ hg status ./main -A
C main/main.txt
C main/sub.txt
如何正确地让 Mercurial 检测符号链接目标的变化?