Home | Info | Research | Blog | Repos | Messages | Contact Me

 




ViewVC는 Subversion, CVS를 웹에서 간편하게 볼 수 있게 해주는 도구입니다. 원래는 ViewCVS였는데 Subversion을 지원하기 시작하면서 이름이 바뀌었습니다.

이번에는 윈도우에서 아파치와 Mod Python을 이용하여 ViewVC를 사용하는 방법을 다루었습니다.

처음에 제가 먼저 사용해 보려고 했을 때 CGI 모드와 Stand Alone 모드는 잘 동작했는데, 유독 Mod Python으로는 동작이 잘 되지 않았습니다. handler.py에서 path를 잘 받아오지 못해서 모듈을 못찾는 것이었습니다. 이 부분은 문서에 포함시켰습니다.

그리고 로그는 UTF-8로 인코딩 되어 있기 때문에 잘 나오는데, 소스 안에 있는 한글 주석과 diff를 했을 때, blame을 했을 때 한글이 깨지는 것, 시간을 UTC에서 한국 표준시 표시하도록  수정한 패치와, 패치된 파일도 첨부하였습니다. 패치된 소스는 저장소에서도 확인 할 수 있습니다.

enscript 사용하여 소스코드 컬러링(Syntax highlighting) 설정하는 방법도 설명하였습니다.

http://www.pyrasis.com/main/SubversionWithViewVCForWindows

트랙백 주소 :: http://www.pyrasis.com/blog/trackback/9

댓글을 달아 주세요

  1. 김병건 2007/03/14 15:56  댓글주소  수정/삭제  댓글쓰기

    한글 문제 인데요.. 가이드에 있는 패치된 3개의 파일을 viewVC설치된폴더/lib 에 덮어쓰면 되는건가요? 아파치 재시작 하고 확인 해봐도 달라지진 않던데..

    • BlogIcon pyrasis 2007/03/15 14:32  댓글주소  수정/삭제

      네.. blame.py, viewvc.py는 lib에, handler.py는 bin/mod_python에 덮어 쓰면 됩니다.
      아파치를 재시작 해도 안되면, viewvc 디렉토리에 확장자가 pyc인 파일을 전부 지우고 아파치를 재시작 해보세요.

  2. 김병건 2007/03/15 12:04  댓글주소  수정/삭제  댓글쓰기

    pyc 를 전부 삭제하고, 아파치 재시작 한후 웹에 접속을 해봤지만 똑같았습니다..

    pyc 란 파일이 py 가 만든 바이너리 파일인거 같은데.. cgi 가 처음 호출되면 py 파일들이 컴파일되서

    새로운 pyc 가 생겨야 하는거 아닌가요??

    삭제후 웹에 접속했는데 pyc 는 생기질 않네요;;

    참, 제가 사용하는건 svn 이 아닌 cvs 입니다

  3. 김병건 2007/03/15 13:46  댓글주소  수정/삭제  댓글쓰기

    아..그리고 혹시나 해서 드리는 말씀인데.. 서버가 윈도우 일경우에 해당하는 글인가요;;??

    hp ux 에서 돌리는 중인데 저는..

  4. BlogIcon pyrasis 2007/03/15 14:41  댓글주소  수정/삭제  댓글쓰기

    윈도우가 아니라도 다 적용되는 패치고 CVS, Subversion 둘다 됩니다.
    제가 보기에 한글이 안나오는 것은 패치 문제가 아니라 설정 문제로 보입니다.
    설정을 다시 한번 확인해보시고, 브라우저에서 페이지를 볼 때 인코딩을 UTF-8로 맞춰서 해보세요.

  5. 김병건 2007/03/15 20:23  댓글주소  수정/삭제  댓글쓰기

    설정 파일중 인코딩을 다른 타입으로 하는 파일이 있어 수저을 하니 되네요.. 자세한건 정리가 되는데로 올리겠습니다..

    한가지더 궁금한게.. 위에 링크 걸어 주신 윈도우에서 설치하고 사용하기 부분중 diff 에 관한 건데요..

    viewvc 에서 diff 를 하려고 하면 diff 를 찾을수 없다고 나오네요.. 찾아봐도 따로 경로를 설정하고 그런건 없는거 같은데.. 분명 gnu diff 설치 되어 있구요.. 설치된 경로 환경변수에 패스도 잡혀 있습니다..

    다른 설정이 필요한 건가요..?

    • BlogIcon pyrasis 2007/03/15 21:10  댓글주소  수정/삭제

      윈도우에서 설치를 하셨다면 환경변수 패스를 잡았다고 하더라도 재부팅을 하지 않으면 아파치에서 인식을 하지 못하기 때문에 적용이 되지 않습니다. 재부팅을 하고 다시 시도를 해보세요.

      그리고 명령 프롬프트에서 diff가 잘 실행되는지 살펴보세요.

  6. BlogIcon 홍가이버 2007/03/20 13:04  댓글주소  수정/삭제  댓글쓰기

    앗..블러그를...
    RSS구독하고 갑니다. ^^

  7. 최순길 2007/05/12 01:31  댓글주소  수정/삭제  댓글쓰기

    좋은 글 고맙습니다. 올려주신 내용대로 ViewVC까지 설치해서 기본 동작은 되는데 diff 관련 기능을 실행하면 다음과 같은 에러가 납니다.
    조금만 도와주실 수 있을까요
    (프롬프트에서 diff 잘 됩니다)

    An Exception Has Occurred
    Python Traceback

    Traceback (most recent call last):
    File "C:\Program Files\viewvc-1.0.4\lib\viewvc.py", line 3678, in main
    request.run_viewvc()
    File "C:\Program Files\viewvc-1.0.4\lib\viewvc.py", line 388, in run_viewvc
    self.view_func(self)
    File "C:\Program Files\viewvc-1.0.4\lib\viewvc.py", line 2748, in view_diff
    fp = request.repos.rawdiff(p1, rev1, p2, rev2, diff_type, diff_options)
    File "C:\Program Files\viewvc-1.0.4\lib\vclib\svn\__init__.py", line 691, in rawdiff
    return vclib._diff_fp(temp1, temp2, info1, info2, args)
    File "C:\Program Files\viewvc-1.0.4\lib\vclib\__init__.py", line 236, in __init__
    self.fp = popen.popen("diff", args, "r";)
    File "C:\Program Files\viewvc-1.0.4\lib\popen.py", line 71, in popen
    phandle, pid, thandle, tid = win32popen.CreateProcess(command, hStdIn, hStdOut, hStdErr)
    File "C:\Program Files\viewvc-1.0.4\lib\win32popen.py", line 84, in CreateProcess
    si # startupinfo
    error: (2, 'CreateProcess', '\xc1\xf6\xc1\xa4\xb5\xc8 \xc6\xc4\xc0\xcf\xc0\xbb \xc3\xa3\xc0\xbb \xbc\xf6 \xbe\xf8\xbd\xc0\xb4\xcf\xb4\xd9.')

    google을 뒤져보니 __init__.py에서 self.fp = popen.popen("C:/Program Files/GnuWin32/bin/diff.exe", args, "r";) 게 수정해보라고 하길래 따라해봤는데도 잘 않 되는군요.
    (이 부분을 수정하고 pyc 파일 다 지우고 아파치 다시 실행해도 에러 메시지에는 계속 "self.fp = popen.popen("diff", args, "r";)"라고 뜹니다. 어디에 캐쉬라도 저장된건지... )

    • BlogIcon pyrasis 2007/05/13 11:07  댓글주소  수정/삭제

      시스템 환경변수의 PATH에 C:\\Program Files\\GnuWin32\\bin으로 설정해주시고, popen.popen("diff", args, "r";)로 되돌린 후 재부팅하고 다시 해보세요.

  8. 최순길 2007/05/12 23:44  댓글주소  수정/삭제  댓글쓰기

    시스템 환경변수 PATH를 다시 설정하고 윈도우 재부팅했지만 동일한 오류가 반복되네요. ㅜㅡ 참 저는 python 2.5가 이미 설치돼 있어서 다른 프로그램들은 2.5에 맞춰서 설치했습니다. 이게 문제가 되는 걸까요.

    • BlogIcon pyrasis 2007/05/13 12:46  댓글주소  수정/삭제

      그러고 보니 C:/Program Files/GnuWin32/bin/diff.exe 이건 왜 슬래쉬로 하셨나요?

      C:\\Program Files\\GnuWin32\\bin\\diff.exe 역슬래쉬로 바꿔서 다시 해보세요, 파이썬 에러 메시지에는 다 경로가 역슬래쉬로 나오는군요.

      안되면 그냥 2.4로 하세요.

  9. 이창석 2007/12/05 19:12  댓글주소  수정/삭제  댓글쓰기

    ^^