subversion 사용중 궁금해서요..

moonhyunjin의 이미지

$ pwd
/home/moon/dep
$ svn co svn://kldp.net/svnroot/sample samdir
...
체크아웃된 리비전 1.
$ cd samdir
소스 수정
$ svn commit -m "commit test"
svn: 커밋이 실패하였습니다:
svn: Connection is read-only

위에만 봤을때 ssh에 대한 정보가 없는거 같아서 .svn/entries을 수정해 줬습니다. svn을 svn+ssh로 바꿔주고 id도 있는거 확인했고요.

그러고 다시 시도 해도 안됩니다. 그래서 아래와 같이 checkout하고 commit했더니 잘됩니다.

$ svn co svn+ssh://id@kldp.net/svnroot/sample samdir

쓰기가 svn+ssh곳에서 svn으로 checkout하면 원래 commit 안되는건가요?

그리고 검색해보니까 kldp.net 패스워드 3번입력해야 된다고 하는데 저도 그러는데 아직 해결안되건가요?[/code]

nohmad의 이미지

svn info 명령을 통해 리포지터리 정보가 제대로 변경되었는지 확인해보세요. 가급적이면 서브버전 메타 파일을 직접 수정하지 말고 svn switch 명령을 이용하는 게 좋을 것 같습니다.

그리고 리포지터리를 바꾸는 등의 중요한 변경이 있을 때는 svn update를 해줘야겠죠~

ktd2004의 이미지

제가 알기로는 kldp.net의 read-only는 svn 프로토콜을 개발자(write 권한)의 프로토콜은 svn+ssh로 알고있습니다.

nohmad의 이미지

KTD wrote:
제가 알기로는 kldp.net의 read-only는 svn 프로토콜을 개발자(write 권한)의 프로토콜은 svn+ssh로 알고있습니다.

네.. 그런데 질문한 내용은 svn 프로토콜로 체크아웃한 BASE 버전을 리포지터리 정보를 고친 후에 svn+ssh 프로토콜로 커밋하고 싶다는 내용 같습니다. 제 기억으로 리포지터리 URL만 수정하면 문제 없었던 것 같습니다.

pynoos의 이미지

nohmad wrote:
KTD wrote:
제가 알기로는 kldp.net의 read-only는 svn 프로토콜을 개발자(write 권한)의 프로토콜은 svn+ssh로 알고있습니다.

네.. 그런데 질문한 내용은 svn 프로토콜로 체크아웃한 BASE 버전을 리포지터리 정보를 고친 후에 svn+ssh 프로토콜로 커밋하고 싶다는 내용 같습니다. 제 기억으로 리포지터리 URL만 수정하면 문제 없었던 것 같습니다.

정확히는

svn switch --relocate svn://kldp.net/ svn+ssh://kldp.net/

이런식으로 Root 부분만 인자로 넣어 주시면 현재 작업디렉토리의 entries 파일들을 찾아서 수정해줍니다.

그리고 세번 물어 보는 것을 막으시려면,
http://kldp.net/forum/forum.php?forum_id=2355
여기를 참고하세요. 약 하루정도 걸려 Cron 작업이 끝나면 자동으로 반영됩니다. cron이 도는 시각은 저도 잘.. :)