2014-10-10 8 views
3

저는 사용자가 Visual SVN 서버를 탐색 할 수있게 해주는 작은 webapp를 작성했습니다. 이 웹 애플리케이션에 github과 같은 온라인 편집기를 추가하여 사용자가 온라인으로 파일을 편집하고 메시지를 남겨두고 변경 사항을 저장소에 표시 할 수 있도록하고 싶습니다.데이터베이스에서 svn 체크 아웃을 할 수 있습니까?

그 때문에 로컬에서 파일을 체크 아웃해야합니다. 나의 생각은 mongodb에서 그들을 검사하는 것이 었습니다. 그래서 나는 로컬 작업 복사본처럼 사용자 당 변경 사항을 저장할 수 있습니다.

데이터베이스 또는 심지어 메모리에서 체크 아웃을 한 다음 데이터베이스에 기록하는 방법 (svn 프로토콜을 다시 구현하지 않음)이 있습니까?

질문이 있으면 그냥 물어보십시오.

Btw. 누군가가 관심이 있다면 여기에 코드가 있습니다 https://bitbucket.org/Knerd/svn-browser

+1

'svnmucc'는 어떻게 사용합니까? http://svnbook.red-bean.com/en/1.8/svn.advanced.working-without-a-wc.html – bahrep

+0

좋은 소리, 방금 주위를 확인하고 정확하게 내가 필요한 것 같습니다 :) – Knerd

답변

2

데이터베이스에 직접 svn checkout 할 방법이 없습니다. 그러나 몇 가지 옵션이 있습니다.

우선 메모리에 상주하는 가상 디스크를 만들고 해당 디스크에 대한 체크 아웃을 수행 할 수 있습니다. 체크 아웃 한 파일을 데이터베이스에 저장할 수 있습니다.

또 다른 옵션은 풍부한 Subversion API를 직접 사용하는 것입니다. Subversion은 C로 작성되었으므로 Node.js와 SVN 사이에 브리지를 만들어야합니다 (내가 기억할 수있는 한 Node.js에 대한 공식 Subversion 바인딩은 없지만 Python과 Java의 경우 거기에 있습니다. Node.js에는 비공식적 인 nodesvn 패키지가 제공됩니다.) API를 사용하여 '데이터베이스 내'작업 복사본을 구현할 수 있습니다.

svnmucc 유틸리티 (VisualSVN 서버와 함께 제공됨)를 사용하여 저장소에 직접 커밋을 만들 수 있습니다 (작업 복사본을 만들지 않고도). svn ls, svn info 등으로 결합하면 저장소 검색 및 파일 편집을 구현할 수 있습니다.

+0

감사합니다 , 나는 나중에 그것을 시험해 볼 것이다 :) – Knerd