2012-05-25 5 views
0

현재 팀을위한 소형 연속 통합 서버를 설치 중입니다. 우리는 최근 우리 소스 코드를 SVN 서버로 전환했습니다.SVN 클라이언트와 API 간의 주요 차이점은 무엇입니까?

일부 스크립트 내에서 SVN 클라이언트 간의 주요 차이점이나 Python 스크립트의 svn API를 사용하여 궁금한 점이있었습니다. 나는 왜 하나 또는 다른 언어에 대한 지식을 제외하고는 하나 또는 다른 것을 선택할 것인가?

저는 아직이 프로젝트의 시작일 뿐이므로 저는 그것이 그러한 질문에 적절한시기라고 생각합니다.

감사합니다.

답변

2

SVN 클라이언트 명령 줄 도구은 개발자가 매일 사용하는 것입니다. export/checkout/bump-version-and-commit과 같은 사소한 일만하면 커맨드 라인 인수와 구문 분석 출력을 표준 Unix 방식으로 인터페이스 할 수 있습니다. 가장 쉬운 방법이며, 어떤 문제가 발생하는 경우 손으로 반복하여 깨진 연산을 디버깅 할 수 있습니다. 나는 그것을하는 몇몇 프로그램을 알고 있고, 어떤 문제도없는 것처럼 보인다.

SVN 클라이언트 API (libsvnclient)에는 기본적으로 1 : 1이지만 기본적으로 1 : 1이지만 명령 행 클라이언트와 동일한 명령에 대한 프로그래밍 인터페이스가 포함되어 있습니다. 파일 목록이나 나무의 조작, 정교한 포함/제외 규칙, 일부 파일에 대한 자동 충돌 해결을 원한다면, 그리고 bash 스크립트 나 출력을 파싱하기에는 너무 복잡 할 수있는 다른 것들을 원한다면, 이 API가 도움이 될 것입니다. 배우고 사용하기가 매우 쉽습니다 (바로 사용하기에 충분히 간단 함).

하위 레벨 SVN API (저장소/작업 카피 액세스 api와 유사 함)은 Subversion 프로세스의 모든 측면을 완벽하게 제어합니다. 저장소를 데이터베이스 백엔드로 사용하려는 경우 repo/wc (로그 메시지 편집과 같은)에서 위험한 하위 수준 조작을 수행해야하는 경우이를 사용해야합니다. 기본적인 경우에도 간단하고 사용하기 쉽지 않습니다. 사실 libsvnclient의 함수는 단순한 것을 단순하게 만들기 위해 이러한 API의 단축키입니다. CI 시스템이 왜 필요한지 상상할 수 없습니다.

+0

아주 좋은 설명입니다. 참조 용 (예 : SVN 빨간색 책)이 있습니까? 아니면 자작입니까? – mliebelt

+0

@mliebelt 자작. 나는 SVN 저장소 안에 파일을 저장 한 프로젝트를 가지고 있었고,'svn'을 호출하는 것에서 libsvnclient를 사용하는 것에 이르는 길을 걸었다. – hamstergene

+0

@hamstergene 귀하의 유익한 답변에 감사드립니다! –

관련 문제