2012-03-07 3 views
2

_project_ 디렉토리가 있습니다. 프로젝트 디렉토리는 아니지만 몇 가지 하위 디렉토리와 파일 묶음이있는 밑줄이 있습니다. 100Mb 크기의 주변에는 .hg 레포가 들어있는 크기가 있습니다.hg status 새로운 이동 된 디렉토리를 무시합니다.

자, 이제디렉토리를 .hg repo 디렉토리로 호출 해 보겠습니다.이 디렉토리는 _project_으로 완전히 이동했고 hg status으로 실행되었습니다. 아무것도 나타났습니다! 날짜 5 년 뒤까지 실행, 그리고 그들 중 일부는보다 오래된 프로젝트의 repo,하지만 난 그 중요한다고 생각하지 않습니다와 파일이

뭔가.

아니요. 위의 어느 곳에서나 .hgignore 없습니다.

누군가 hg status이 서브 디렉토리에 이러한 "새로운"파일을 표시하지 않는다는 사실을 알고 있습니까? 그 이름에 밑줄이 그 것과 관련이 있습니까?

...

"중첩 된"repos?

\_project_\.hg 
\_project_\_something_\.hg 
+0

중첩 된 리포지토리가 있습니다.옳은? – zerkms

+0

@zerkms - 위의 의미입니까? 예. – Rook

+0

그냥 중첩 할 수는 없습니다. 중첩 된 저장소는 특별한 방법으로 처리됩니다. http://mercurial.selenic.com/wiki/Subrepository?action=show&redirect=subrepos – zerkms

답변

5

리포지토리를 수동으로 중첩했기 때문에 문제가 발생했습니다. 잘못되어 일을하기로되어 있지 않습니다. 외부에 대해 hg status을 사용하는 동안 중첩 된 저장소에 추가 된 파일은 표시되지 않습니다. 올바른 중첩을 통해 문제가 해결됩니다.

https://www.mercurial-scm.org/wiki/Subrepository

+0

감사합니다 zerkms! 나는 중첩 된 저장소에 대해 신경 쓰지 않고, 그 상태는 항상 나에게 파일의 현재 상태를 보여줍니다. 내가 잃어 버리지 않는 것이 아주 중요합니다. 어쨌든 ... 고마워요! – Rook

2

당신 같은 중첩 저장소를 함께 표시하는 경우 :

\_project_\.hg 
\_project_\_something_\.hg 

모든 의욕 명령은 매우 신중하게 중첩 된 _something_ 저장소를 무시합니다.

두 저장소에서 _something_의 파일을 추적하는 것이 이상 할 것이므로이 작업이 수행됩니다. 또한, 내부 foo 저장소 I가 작업 뭔가 단지 클론 모두

/home/mg/.hg/ 

/home/mg/src/foo/.hg/ 

이되도록 버전은 홈 디렉토리를 제어하는 ​​많은 사람들이있다. 여기에 hg statusfoo에있는 파일을 보여주지 않을 때가 내 홈 디렉토리의 루트에있을 때 정말 좋습니다.

zerkms와 마찬가지로 우리는 특별한 방법으로 중첩 된 저장소로 작업 할 수있는 subrepositories이라는 기능이 있습니다. 그래도 그게 네가 원하는 걸 생각하지 않아.

난 당신이 _something_에서 파일의 역사를 잃고 싶지 않아 것을 가져 가서 당신이 것을_project_ 내부 _something_을 갖고 싶어. 그렇다면 _something_ 안에있는 파일의 이름을 한 단계 아래로 내리고 최상위 수준에서 _project_의 파일을 추가 할 수 있습니다. 자세한 내용은 this answer을 참조하십시오.

관련 문제