· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Emacs With Kldp Dot Net

Emacs에서 KLDP.net 서비스의 Subversion(SVN)이용하기


1. 이 문서는

Emacs의 subversion 확장을 이용하여 kldp.net 서비스에 등록된 프로그램을 다운로드/수정/업로드 하는데 도움이 되기 위한 목적으로 작성되었습니다.

2. [http]KLDP.net

KLDP.net 는 Open Source 개발자에게 제공되는 무료 서비스로서, Subversion, 메일링 리스트, 버그 트래킹, 공개 게시판, 임무 관리, 웹사이트 호스팅, 영구적인 파일 아카이브, 백업 서비스를 포함한 완전한 웹기반 관리 인터페이스를 제공합니다.

3. Linux 환경에서 Emacs + Subversion 사용하기

3.1. 설치 및 설정

Emacs 와 Subversion을 연동해서 kldp.net의 프로젝트를 수정하기 위해서는 다음 프로그램들을 설치해야 한다.
  • Emacs
  • Emacs Extension - [http]psvn.el
  • subversion
  • ssh

3.1.1. Debian/Ubuntu 환경에서 설치

다음의 명령으로 간편하게 설치가 가능하다. emacs22는 안정버전은 아니지만 최신의 여러 기능을 포함하고 있으며 큰 문제 없이 사용가능하므로 직접 설치해보는것도 좋다. ssh-askpass는 ssh로그인을 하는데 꼭 필요하므로 설치해주어야 한다. 다운로드 받은 psvn.el을 로드하는 것은 EmacsInstallScript를 참고한다.
shell > apt-get install emacs21 emacs21-bin-common emacs21-common emacs21-el
shell > apt-get install subversion subversion-tools
shell > apt-get install ssh openssh-client ssh-askpass
shell > wget http://www.xsteve.at/prg/emacs/psvn.el; mv psvn.el Emacs_라이브러리_디렉토리

3.1.2. Gentoo 환경에서 설치

3.1.3. Redhat / Fedora 환경에서 설치

3.2. Checkout하기

Emacs를 실행하고, *Messages* 창을 통해 psvn이 정상적으로 로드된것을 확인한다. Emacs실행이 정상적으로 완료되었으면 다음 명령을 통해 Subversion에 체크아웃한다. 각 프로젝트의 subversion 서버 주소는 프로젝트 홈페이지의 SCM(Source Code Management) 디렉토리에서 확인할 수 있다.
Emacs > M-x svn-checkout
Emacs - Checkout from repository Url: svn+ssh://사용자명@kldp.net/svnroot/프로젝트명
Emacs - Checkout to directory: 소스파일을 다운로드할 디렉토리

위와 같이 명령을 내리면 Emacs 상태표시창이 "EShell running checkout" 으로 바뀌고 곧 작은 윈도우 창이 생기면서 비밀번호를 물어온다. 이때 정상적으로 비밀번호를 입력하여도 다시 비밀번호 입력창이 뜨는데 당황하지 말고 비밀번호를 다시 입력한다. 비밀번호는 총 3번 입력해야 한다. 이러한 비밀번호 입력과정이 번거로우면 서버에 ssh키를 넣어두고 ssh-agent를 사용하는 방법도 있다. 자세한 방법은 UsingSshAgent 또는 DocbookSgml/SSH-KLDP를 참고하기 바란다.

4. Win32 환경에서 Emacs + Subversion 사용하기

4.1. 처음 시도하였으나 실패한 방법

가능한 리눅스와 유사한 환경에서 Emacs+Subversion을 사용하기 위해 다음과 같은 방법을 시도하였으나 실패하였다.

4.1.1. 설치 및 설정

위의 프로그램을 각각의 링크에서 다운로드하여 설치한다. 다운로드한 psvn.el은 emacs가 읽을 수 있는 디렉토리에 넣고 M-x load-lib명령을 통해 emacs에서 불러들인다. emacs에서 .el파일을 로드하는 것에 대한 자세한 설명은 EmacsInstallScript에서 찾을 수 있다.

설치된 ssh를 이용하여 키를 생성하고 서버에 업로드하여 자동으로 로그인할 수 있도록 한다. ssh 키를 이용하여 비밀번호 입력 없이 서버에 접속하는 자세한 방법은 UsingSshAgent 또는 DocbookSgml/SSH-KLDP에 설명되어 있다.
# 시작버튼 > 실행 > cmd을 이용해 열은 콘솔창에서 다음을 실행한다.
shell > ssh-keygen -t rsa
shell > cd .shell
shell > scp id_rsa.pub user@kldp.net:.ssh/authorized_keys

4.1.2. 실행 및 결과분석

윈도우의 콘솔창에서 다음 명령을 실행하여 Subversion + ssh가 정상적으로 동작하는 것을 확인해 본다. 마지막에 svn명령을 내렸을때 서버에 접근할 수 있는 비밀번호를 세번 묻는데, 이는 처음 입력한 비밀번호가 잘못되어서 다시 묻는것이 아니므로 당황하지 말고 비밀번호를 다시 입력하도록 한다.
shell > cd c:\testdir
shell > svn checkout svn+ssh://사용자명@kldp.net/svnroot/프로젝트명

Emacs에서 psvn을 사용하여 svn서버에 접속하는 것을 시험해 본다. psvn.el은 이미 로드되어 있는 상태여야 한다.
Emacs > M-x svn-checkout svn://사용자명@kldp.net/svnroot/프로젝트명

위의 시험을 통해 Emacs + psvn, ssh + subversion이 정상적으로 동작함을 확인하였다. 그러나 다음 명령을 통해 Emacs + psvn => ssh + subversion의 연동을 시험해보면 제대로 동작하지 않는 것을 알 수 있다. 확인해 보면 "Pseudo-terminal will not be allocated because stdin is not a terminal" 라는 에러메세지와 함께 ssh접속에 실패하고 있는 것을 알 수 있다. Emacs에서 ssh와 같은 외부프로그램을 실행하는데 장애가 있는 것으로 생각된다.
Emacs > M-x svn-checkout svn+ssh://사용자명@kldp.net/svnroot/프로젝트명

4.2. 대안책

sshwindows + subversion Win32를 Emacs와 연동하지 않고, 별도의 Subversion 프로그램을 사용한다.

가장 널리 알려지고 사용이 쉬운 것은 tortoisesvn( http://tortoisesvn.tigris.org ) 으로, 한글 확장팩까지 있는 자유 소프트웨어이다. 자세한 사용 예는 다음 링크에서 볼 수 있다.
  1. TortoiseSVN
  2. TortoiseSVN-USE


ID
Password
Join
You have a strong desire for a home and your family interests come first.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-07-20 17:37:12
Processing time 0.0440 sec