subversion property 설정

Computing 2008. 11. 29. 03:39

매번 찾아보기 번거로우니 메모해 두자.

$ svn propset svn:keywords 'Author Date Id Revision' source.c
$ svn propset svn:eol-style native source.c

find . -name 'Makefile' -o -name '*.cpp' -o -name '*.hpp' -o -name '*.c' -o -name '*.h' -o -name '*.mk' -exec svn propset svn:keywords 'Author Date Id Revision' {} \;
find . -name 'Makefile' -o -name '*.cpp' -o -name '*.hpp' -o -name '*.c' -o -name '*.h' -o -name '*.mk' -exec svn propset svn:eol-style native {} \;

$ cat ${HOME}/.subversion/config
...
[miscellany]
global-ignores = *.o *.lo *.la *.a *.so #*# .*.rej *.rej .*~ *~ .#* .DS_Store
enable-auto-props = yes

[auto-props]
*.c = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cpp = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.h = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.i = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.mk = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.in = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.idl = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.sh = svn:eol-style=native;svn:executable
*.txt = svn:eol-style=native
Makefile = svn:eol-style=native;svn:keywords=Author Date Id Revision
...

이렇게 하면, 파일에

$Id$ 로 표시해 둔 부분이 해 두면 last modification 정보로 자동으로 업데이트된다.

또한 Windows/*NIX/OSX 를 소스 코드가 왔다갔다 해도 CR+LF/LF/CR 의 차이에 따른 지저분한 eol 이 생기지 않는다.





: