문제

이해할 수없는 문제가 있습니다. Windows에서는 Tortoisehg (버전 0.7.5)를 사용하고 있지만 Linux에서는 같은 문제가 있습니다. 여기있어:

나의 .hgignore 파일:

syntax: regexp
^[^\\/]+$

내가 달성하려는 것은 HG 저장소의 루트에있는 파일을 무시 목록에 추가하는 것입니다.

예를 들어 내가 이것을 좋아하는 경우 :

.hg
+mydir1
+mydir2
-myfile1
-myfile2
-anotherfile1
-anotherfile2 
.hgignore

나는 myfile1 (2)과 다른 file1 (2)을 무시하기를 원합니다 (이름은이 예제의 목적에만 해당됩니다. Hgignore 파일에 쉽게 넣을 수있는 간단한 규칙이 없습니다).

regexp가 좋다고 확신하기 때문에 내가 놓친 것이 있습니까? 아이디어?

이것을 달성하는 더 간단한 방법이 있습니까? [수은 저장소의 루트에있는 무시 목록 파일에 추가하기 위해

도움이 되었습니까?

해결책

나는이 질문을 전달했다 #mercurial Irc.freenode.net에서 응답은 파일과 디렉토리를 구별 할 수 없다는 것입니다. 디렉토리는 Regexp에서 검색하는 슬래시없이 일치합니다.

그러나 디렉토리가 풀 스톱을 포함하지 않는다고 가정 할 수 있다면 ., 그러나 파일은 이와 같은 것이 작동하는 것 같습니다.

^[^/]*\..*$

다음과 같은 저장소에서 테스트했습니다.

% hg status -ui
? a.txt
? bbb
? foo/x.txt
? foo/yyy

추가 .hgignore 파일 제공 :

% hg status -ui
? bbb
? foo/x.txt
? foo/yyy
I .hgignore
I a.txt

이는 a.txt 루트 디렉토리에서 파일이 올바르게 무시되지만 x.txt 에서 foo 하위 디렉토리는 아닙니다. 당신은 또한 그냥라는 파일을 볼 수 있습니다 bbb 루트 디렉토리에 있습니다 ~ 아니다 무시했습니다. 그러나 아마도 당신은 그러한 파일을 직접 추가 할 수 있습니다. .hgignore 파일.

당신이 같은 디렉토리를 가지고 있다면 bar.baz 루트 디렉토리에서는이 디렉토리와 모든 파일이 무시됩니다. 나는 이것이 조금 도움이되기를 바랍니다.

다른 팁

다음은 더러운 속임수입니다.

.hgignore에 추가하는 것보다 Directory에서 ".hidden"을 빈 파일을 만듭니다.

^mydir/(?!\.hidden).+$

이것은 ".hidden"을 제외한 디렉토리의 모든 파일을 무시합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top