====== WinMerge의 파일 필터 작성 ======
* 주석 : ## 으로 시작
설명 섹션
= name : 필터의 이름
= desc : 필터 설명
name: Sample Filter
desd: Sample Filter ## 넣지 않아도 된다.
필터 설정 섹션
* **def** : 포함시키는 것들과 무시할 것들에 대한 필터링 종류를 설정
* include : 모든 파일 포함 + 추가 룰에 정의된 파일의 제외
* exclude : 모든 파일 무시 + 추가 룰에 정의된 파일만 포함
def:include ## 모든 파일을 포함하는 필터
필터에 포함한 파일 형식
* **f:** //정규식// : 파일에 대한 추가룰
* **d:** //정규식// : 폴더에 대한 추가룰
정규식 부분에서 중요한 부분
* **^(beginning of line)** : \\ 종종 필요할때가 있다고 하네.
* **$(end of line)** : \\ 자주 사용하는 듯
\.c$ ## 확장자가(마지막부분이) .c 로 끝나는 것들만 해당된다.
\.c ## 확장자 부분이 .c 로 시작되는 것들에 (.cpp 나 .com 처럼) 적용된다.
* **\(escape)** : \\ 특수문자를 일반 문자로 사용하려고 할때 사용한다. \\ %%\\%% 는 \ 문자를 사용하기 위해서 \\ %%\.%% '.'을 문자로 인식하기 위해서 사용한다.
* 폴더의 경우 "\Debug" 를 인식하게 하기 위해서
d: \\Debug ## 와 같이 쓸 수 있다.
===== Example =====
예제 1 :
f: \.cpp$ ## Match *.cpp files
f: \.h$ ## Match *.h files
f: ^My ## Match My*.* files
f: Dlg\. ## Match *Dlg.* files
d: \\test$ ## Match test folders
d: ^\\Build$ ## Match Build folders
d: Temp$ ## Match *Temp folders (for example, FirstTemp)
d: Src ## Match *Src* folders
예제 2 :
f: ^\.#.*$ ## .#filename.version files
f: Dlg\.c(pp)?$ ## *Dlg.c and *Dlg.cpp files
f: ^I.*\.h$ ## I*.h files
f: Srv[1-9]\.def$ ## *Srv1.def to *Srv9.def files
f: ^[h,k,m] ## h*.*, k*.*, and m*.* files