2011-10-12 2 views
0

가 여기 내 파일/폴더 구조의 예상대로 작동하지 않음 :수은 정규 표현식 구문

코드/.hg

코드/.hgignore

코드/현금/readme.txt를

코드/CASH/bin/FTI/abc.dll

내 .hgignore 파일에서/bin/FTI 폴더의 모든 것을 제외하고 CASH 폴더 아래의 모든 것을 무시하는 정규 표현식을 만들려고합니다.

syntax: regexp 
CASH/(?!bin/FTI/).* 

이 내가 무시하지하고자하는 /bin/abc.dll 파일을 포함하여 현금 폴더에있는 모든 것을 무시하고 끝 :

다음은 작동하지 않습니다 내 .hgignore 파일입니다.

아이디어가 있으십니까?

답변

0

glob이 경우 더 쉽습니다. 정규 표현식을 사용하는 경우, 방법에 대해 : 이것은 당신이 찾고있는 정확하게 대답이 아니라, 이유는 의욕 제로 폭 모습 (.hgignore 파일 "을 제외한 모든"에 대한 괜찮은 구문이없는

syntax: regexp 
CASH/(?!bin) 
CASH/bin/(?!FTI) 
1

앞서 정규 표현식이 계획이 아님)은 hg add.hgignore을 대체하기 때문입니다.

귀하는 단지이있는 .hgignore 파일을 가질 수 있습니다

^CASH/ 

을 한 후 한 번 hg add CASH/bin/FTI/**을하고 당신은 이미 그 디렉토리에있는 모든 파일에 대한 모든 미래의 변화를 추적 할 수 있습니다 .

물론 새 이진 파일이 CASH/bin/FTI에 나타나면 추가해야한다는 것을 기억해야하지만 이미 추가 된 내용은 추가 작업이 필요하지 않습니다. 새로운 이름을 가진 바이너리가 일반적인 경우가 아니라면 이것이 더 일반적인 설정입니다.