Mercurial은 기본적으로 shell-style의 확장형태의 glob 패턴으로 파일명을 인식한다.
아래는 Mercurial에서 지정할 수 있는 여러가지 파일경로 패턴이다.
1. path:
glob 스타일이 아닌 정확한 경로를 지정할 때 사용할 수 있음.
// DIR/FILENAME 하나만을 정확히 지정해서 annotate
C:\rep> hg anno -un path:"DIR/FILENAME"
2. glob:
glob 스타일을 명시적으로 지정.
// 현재 디렉토리의 모든 .c 파일의 annotate
C:\rep> hg anno -unf glob:"*.c"
// 하위 디렉토리까지 포함하여 모든 .c 파일의 annotate
C:\rep> hg anno -unf glob:"**.c"
// 현재 디렉토리 아래에서 lib/php 라는 디렉토리 아래의 모든 .php 파일 annotate
C:\rep> hg anno -unf glob:"**/lib/php/**.php"
// {A,B}는 A 혹은 B라는 뜻으로 지정
// 현재 디렉토리 아래에서 lib/web 디렉토리 아래의 모든 .php 혹은 .js 파일 annotate
C:\rep> hg anno -unf glob:"**/lib/web/**.{php,js}"
3. re:
정규식을 이용
// 어쩌고 저쩌고 lib/web 또는 lib/www 디렉토리 아래의 모든 .php 파일 annotate
C:\rep> hg anno -unf re:".*lib\/(web|www)\/.*\.php$"
4. listfile:
파일패턴을 미리 텍스트 파일에 저장해놓고 명령어 입력시 해당 텍스트파일에서 읽어들이는 방법.
listfile: 과 listfile0: 가 있는데 listfile:은 line delimiter가 line feed일 때, listfile0: 는 line delimiter가 null일 때 사용.
// .hg 디렉토리의 list.txt 라는 파일에 아래처럼 파일패턴 지정
glob:**.php
glob:**.js
// 위에서 지정한 패턴에 매칭되는 파일의 annotate
C:\rep> hg anno -unf listfile:".hg/list.txt"
'버전관리' 카테고리의 다른 글
[Mercurial] 에디터에서 단축키로 hg annotate 실행하고 필요한 만큼만 콘솔에서 확인 (editor, externel tools, console) (0) | 2014.08.20 |
---|---|
[Mercurial] 파일셋 지정 (Specifying File Sets) (0) | 2014.08.14 |
[Mercurial] shelve된 데이터 삭제 (delete, shelf) (0) | 2014.08.13 |
[Mercurial] 콘솔 출력 꾸미기 (style, template, color) (0) | 2014.08.07 |
[Mercurial] 콘솔에서 그래프 보기 (hg log -G, graphlog) (0) | 2014.08.06 |