CVS를 통한 자동화 도구 토론

pynoos의 이미지

CVS 만 가지고는 간단히 파일의 버전 컨트롤하기에는 뭔가 불충분합니다.
viewcvs, cvsweb 등을 설치하는 것이 소스를 들여다보기에 좋지요.

제가 구상중이고 구현중인 cvsnotify 라는 perl script가 있는데, 기본적인 기능은 다음과 같습니다.

1. cvs log notify
- cvs commit 할 때 log message와 revision 의 변화에 따른 viewcvs url을 link로 걸어줍니다.

2. cvs content notify
- 특정 파일의 경우 변경되면, 전체 파일 내용을 보내면서 변경사항을 색깔로 칠하여 보내줍니다.

3. indentation
- 소스를 commit 함과 동시에 indentaion을 맞춰 넣습니다. 개발자들의 게으름을 툴로(?) 조금이나마 해결하고자..

아직까지는 여기까지 입니다만...

추가 하고 싶은 기능은
a. 함수 혹은 toplevel '{' 와 '}' 간의 행 간격제한 (경고라인 약 40줄, commit 거부라인수 70줄 정도) - 반드시 리팩토링해야합니다. :)
b. doxygen 포맷에 맞는 주석삽입 여부, 간단히 doxygen을 통한 결과에 warning 을 보여줍니다.
c. file name format 을 regular expression으로 걸러 파일명을 아무렇게나 짓지 못하도록 commit 방지.
d. 함수 인자를 assert를 사용하여 range, null 확인 여부 확인 안하면 commit 거부
e. 사용자별 module 혹은 file commit 제한

만만치 않기도하고 일부 parser가 들어가야할 것도 같습니다.

좀더 추가하고 싶은 기능 있으신가요?
다 완성되면 공개하겠습니다.

p.s. 요즘 하고 싶은 것은 많은데 벌이기만 하는 군요..
hserver 도 정체된지 오래고, 프로젝트 운영에 대한 문서도 생각나는대로 짬짬히 (지금까지 두번..) 작성하고..
그냥 이렇게 살렵니다. 에잇.

perky의 이미지

약간 관련이 있는 듯 해서, 혹시나 해서 올려 봅니다.
perl script는 아니고 python script인데, procmail filter로 작용해서 FreeBSD CVS로그에 달린 변동사항을 diff 받아서 첨부파일로 넣어주는 스크립트 입니다.

http://people.freebsd.org/~perky/cvsmailattach.py

You need Python

쎄피로의 이미지

와우..멋집니다. 생각만 해도 가슴이 두근거리는군요. 완성해 주세욤!! ^_^;

세상은 넓고, 할 일은 많은데, 난 숨만 쉬고 있니?

onlytobe의 이미지

e번은 아래 링크를 이용하면 됩니다.

http://bbs.kldp.org/viewtopic.php?t=32750

제가 테스트 했습니다.
관련 파일이 하나 더 있는데 commit_prep.pl 입니다.
전 cvs를 관리하는 입장에서 실력이 안되서 원하는
것들을 직접 작성하지 못하는 것이 한스럽습니다.
이번 기회에 shell script 하나 정도는 마스타 해야겠습니다.
좋은 결과 맺으시길.........