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 시스템이 왜 필요한지 상상할 수 없습니다.
아주 좋은 설명입니다. 참조 용 (예 : SVN 빨간색 책)이 있습니까? 아니면 자작입니까? – mliebelt
@mliebelt 자작. 나는 SVN 저장소 안에 파일을 저장 한 프로젝트를 가지고 있었고,'svn'을 호출하는 것에서 libsvnclient를 사용하는 것에 이르는 길을 걸었다. – hamstergene
@hamstergene 귀하의 유익한 답변에 감사드립니다! –