'w'에 해당되는 글 1건

  1. 2007.08.28 CVS wrapper 기능을 이용한 특정 파일의 기본 성격 설정 (1)
2007.08.28 01:33
 * CVS wrapper 기능을 이용한 특정 파일의 기본 성격 설정 *

1. 저장소의 CVSROOT/cvswrappers 파일 설정
2. .cvswrappers 파일 설정
3. cvs import 및 cvs update시 -W 옵션 사용

------------------------------------------------------------------------------
1. 저장소의 CVSROOT/cvswrappers 파일 설정


tmp> cvs co CVSROOT
......
...
.. (checkout 되는 과정을 생략한 것임)

체크아웃된 cvswrappers 파일을 다음과 같이 수정한다.

# This file affects handling of files based on their names.
#
# The -t/-f options allow one to treat directories of files
# as a single file, or to transform a file in other ways on
# its way in and out of CVS.
#
# The -m option specifies whether CVS attempts to merge files.
#
# The -k option specifies keyword expansion (e.g. -kb for binary).
#
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
#
#  wildcard    [option value][option value]...
#
#  where option is one of
#  -f        from cvs filter        value: path to filter
#  -t        to cvs filter        value: path to filter
#  -m        update methodology    value: MERGE or COPY
#  -k        expansion mode        value: b, o, kkv, &c
#
#  and value is a single-quote delimited value.
# For example:
*.AI -k 'b' -m 'COPY'
*.ai -k 'b' -m 'COPY'
*.AIFC -k 'b' -m 'COPY'
*.aifc -k 'b' -m 'COPY'
*.AIFF -k 'b' -m 'COPY'
*.aiff -k 'b' -m 'COPY'
*.au -k 'b' -m 'COPY'
*.AU -k 'b' -m 'COPY'
*.avi -k 'b' -m 'COPY'
*.AVI -k 'b' -m 'COPY'
*.bin -k 'b' -m 'COPY'
*.BMP -k 'b' -m 'COPY'
*.bmp -k 'b' -m 'COPY'
*.bz -k 'b' -m 'COPY'
*.bz2 -k 'b' -m 'COPY'
*.cab -k 'b' -m 'COPY'
*.class -k 'b' -m 'COPY'
*.CLASS -k 'b' -m 'COPY'
*.des -k 'b' -m 'COPY'
*.DLL -k 'b' -m 'COPY'
*.dll -k 'b' -m 'COPY'
*.doc -k 'b' -m 'COPY'
*.DOC -k 'b' -m 'COPY'
*.dra -k 'b' -m 'COPY'
*.DWG -k 'b' -m 'COPY'
*.dwg -k 'b' -m 'COPY'
*.DXF -k 'b' -m 'COPY'
*.dxf -k 'b' -m 'COPY'
*.ear -k 'b' -m 'COPY'
*.EAR -k 'b' -m 'COPY'
*.EPS -k 'b' -m 'COPY'
*.eps -k 'b' -m 'COPY'
*.EXE -k 'b' -m 'COPY'
*.exe -k 'b' -m 'COPY'
*.FIG -k 'b' -m 'COPY'
*.fig -k 'b' -m 'COPY'
*.FM -k 'b' -m 'COPY'
*.fm -k 'b' -m 'COPY'
*.gif -k 'b' -m 'COPY'
*.GIF -k 'b' -m 'COPY'
*.gz -k 'b' -m 'COPY'
*.GZ -k 'b' -m 'COPY'
*.HQX -k 'b' -m 'COPY'
*.hqx -k 'b' -m 'COPY'
*.ico -k 'b' -m 'COPY'
*.ICO -k 'b' -m 'COPY'
*.ief -k 'b' -m 'COPY'
*.JAR -k 'b' -m 'COPY'
*.jar -k 'b' -m 'COPY'
*.jpe -k 'b' -m 'COPY'
*.JPE -k 'b' -m 'COPY'
*.jpeg -k 'b' -m 'COPY'
*.jpg -k 'b' -m 'COPY'
*.fla -k 'b' -m 'COPY'
*.png -k 'b' -m 'COPY'
*.psd -k 'b' -m 'COPY'
*.swf -k 'b' -m 'COPY'


수정된 내용을 저장소에 다시 전송한다

tmp/CVSROOT> cvs commit -m "메세지는 알아서 작성하기"
....
...
..
.. (commit 되는 과정을 생략함)

tmp/CVSROOT> cd ..
tmp> cvs release -d CVSROOT
....
...
..
.. (release 되는 과정을 생략함)


이와 같이 작업하면 파일이름으로 특정 파일의 기본 성격을 설정할 수 있다.

위와 같이 한다면 저장소에 내용을 추가하는 것이므로 모든 사용자에게 동일한 효과를 보인다.

2. .cvswrappers 파일 설정
  사용자 한 명에게만 하고자 한다면 사용자의 홈 디렉토리에 .cvswrappers 파일에서 설정하면 된다. (앞에 .이 있다는 것에 유의한다) 하지만 이렇게 사용한다면 문제의 소지가 있다. 왜냐하면 어떤 파일들을 특별하게 다루어야 할 필요가 있다면, 저장소를 쓰는 모든 사람을 대상으로 전역으로 설정해야 의미가 있기 때문이다.

3. cvs import 및 cvs update시 -W 옵션 사용
  cvs import와 cvs update 명령을 사용할때 -W 옵션을 통해서 설정이 가능하다. 이 방법은 단 한번만 적용이 되는 경우, 특히 기존 디렉터리 구조를 CVS에 들여오는 등의 경우에 유용하다. 마지막 방법은 다음과 같이 사용한다.

myproj> cvs import -W "*.jar -k 'b'" -W "*.doc -k 'b'" \ -m ' ' myproj ...


참조
1. http://nunorock.egloos.com/2616658
2. 데이비드 토머스, 앤드류 헌트, "실용주의 프로그래머를 위한 버전관리 using CVS", 인사이트. 2006.

Posted by 열라착한앙마

댓글을 달아 주세요

  1. BlogIcon busty natural plump 2008.03.13 06:02  댓글주소  수정/삭제  댓글쓰기

    그런 경이롭 위치를 위해 많게의 감사!