import pysvn
c = pysvn.Client()
c.update(".")
결과
Traceback (most recent call last):
File "D:\builder\main.py", line 17, in <module>
c.update(".")
pysvn._pysvn_2_5.ClientError: Can't create tunnel: 吏?뺣맂 ?뚯씪??李얠쓣 ???놁뒿?덈떎.
이런 결과가 나오는 이유는 출력문이 utf8 이기 때문입니다 (-_-);
유닉스 계열에서는 이미 utf8 이 천하를 통일했지만
윈도우 계열에서는 아직 mbcs 한글로 이야기하면 cp949 가 디폴트 인코딩인 상태입니다.
그러므로 제대로 된 문자열을 보기 위해서는 번역기를 하나 달아줘야 합니다.
import sys
import pysvn
class Translator:
def __init__(self, out):
self.out = out
def write(self, msg):
self.out.write(msg.decode("utf8").encode("mbcs"))
console = sys.stdout
sys.stdout = Translator(console)
sys.stderr = Translator(console)
c = pysvn.Client()
c.update(".")
결과
File "D:\builder\main.py", line 16, in <module>
c.update(".")
pysvn._pysvn_2_5.ClientError: Can't create tunnel: 지정된 파일을 찾을 수 없습니다.
자-_- 그럼 이제 이글의 핵심문제인 터널을 만들 수 없다는 걸 해결해봅시다.
pysvn 은 ssh+svn 프로토콜로 통신을 할때 ssh.exe 를 필요로 합니다.
유닉스계열에서는 ssh 가 기본으로 설치되어있지만, 윈도우에서는 그렇지 않습니다.
음 그럼 어떻게 해야 할까요 (-_-)?
pysvn 은 TortoiseSVN 에서 나온 제품입니다.
TortoiseSVN 을 보면 TortoisePlink.exe 란 프로그램이 있는데
이것이 바로 ssh 프로그램입니다.
이 파일을 하나 복사해서 ssh.exe 로 이름을 변경한후 c:\windows 에 복사해두면
위의 스크립트는 아름답게 실행되게 됩니다 ~(-_-)~


python 을 좋아하는 게임 프로그래머