최근에 다시 피씨를 세팅할 일이 생겨서 (Windows 7) EmacsW32 최신 버젼과 서브버젼 (Subversion) 최신 버젼을 설치하게 되었습니다.

어찌된 일인지 갑자기 잘 되던 SVN 과 Emacs 의 연동이 안되더군요. 그래서 여러가지 방법을 시도하던 와중에 문제점을 발견했습니다.

디렉토리 구조중 최상위 (Root) 를 제외하고는 .svn 폴더들이 전부 사라진 것이였습니다.


이것도 모르고 Emacs 를 버젼별로 깔아대는 삽질을 하고 있었습니다. 결국 비효율적이라고 판단한 svn 개발팀에서 하위 디렉토리의 .svn 폴더들을 삭제하는 결정을 한 것이겠지요. 따라서 엄한 emacs 사용자들만 야단이 났습니다. 지금 릴리즈 되는 버젼들에는 저 변동사항이 적용이 안 되어 있기 때문이지요.

해결 방법은

1. http://bzr.savannah.gnu.org/lh/emacs/trunk/files/head:/lisp/vc/ 사이트에 가셔서 vc-svn.el 을 다운 받고

2. emacs 가 설치되어 있는 곳의 lisp 파일 모아둔 곳으로 이동하셔서 (제 경우에는 C:\Program Files\Emacs\emacs\lisp 에 있습니다) vc-svn.el 과 vc-svn.elc 를 삭제하시고

3. 1에서 다운 받은 파일을 대신 복사해 주는 것입니다. (vc-svn.el 을 컴파일 하고 안하고는 자유 이십니다. 전 귀찮아서 안했음)

완벽하게 해결이 된 것을 확인하 실 수 있습니다.

간단한 파일하고 설정만으로 매킨토시 컴퓨터에 SVN 서버를 설정할 수 있습니다. 

1. 저장소 만들기 
    
     mkdir /Users/crazia/svn 
     cd /Users/crazia/svn
     svnadmin create super_ultra

     chown -R www:www /Users/crazia/svn/*


svn 레파지토리가 될 디렉토리를 생성하고, svnadmin 을 이용해서 프로젝트를 생성합니다. 지금 보여지는 예제로는 super_ultra 가 되겠군요. 그리고 chown 을 이용해서 www:www 로 바꿔줍니다. 


2. 설정파일 만들기 
   
sudo emacs /etc/apache2/other/svn.conf 


 -- svn.conf -- 
   
 
    LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so

     <Location /svn>
       DAV svn
       SVNParentPath /Users/crazia/svn

       AuthType Basic
       AuthName "Subversion repository"
       AuthUserFile /etc/apache2/svn-auth-file
       Require valid-user

     </Location>

자신이 즐겨 쓰는 에디터 (vi, nano, emacs) 로 svn.conf 를 정해진 위치에다가 생성합니다. 그리고 그 안에 들어가는 내용을 아래와 같이 정리합니다. 


3. svn 계정만들기 

  sudo htpasswd -cm /etc/apache2/svn-auth-file crazia

svn 계정에 쓰일 (여기서는 crazia) 패스워드를 입력합니다. 


4. 아파치 재시작 

sudo apachectl restart 


 만약 에러 발생시 

sudo emacs /usr/sbin/apachectl

apachectl 파일에서 

     ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"

 부분을  

     ULIMIT_MAX_FILES=""

 로 수정 하고 다시 아파치를 재시작합니다. 

  sudo apachectl restart 

 아파치 에서 에러가 발생하는 것을 알아보려면 
     
     tail -f /var/log/apache2/error_log

로 에러가 발생한 것을 알아본다. 







+ Recent posts