2015-01-15 2 views
0

Mercurial (프로젝트 main)에 의해 버전 관리되는 프로젝트가 있습니다. 프로젝트는 sub의 파일을 가리키는 main의 기호 링크로 다른 프로젝트 (sub)의 일부 파일을 참조 (사용)합니다. 심볼릭 링크는 main의 저장소에 추가됩니다.Mercurial이 심볼릭 링크 대상 변경을 감지하는 방법

문제는 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 

mainsub 아니라에서 커밋 쇼 'M'없이 다시 sub 수정 :

$ nano ./sub/sub.txt 
$ hg status ./sub 
M sub/sub.txt 
$ hg status ./main -A 
C main/main.txt 
C main/sub.txt 

어떻게 제대로 의욕이 심볼릭 링크 '목표의 변화를 감지 할 수 있습니까?

답변

1

수 없습니다. security reasons의 경우, Mercurial은 절대로 기호 링크를 탐색하지 않습니다.

+0

리포지토리를 상호 참조하는 방법에 대한 제안 사항은 무엇입니까? – mbaitoff

+0

당신이 할 수있는 한 가지는 main의 subrepo로 서브가 있습니다. – Mathiasdm