| 안정화 버전 | 1.14.7
/ 2024년 4월 16일 |
|---|---|
| 저장소 | |
| 프로그래밍 언어 | C++ |
| 운영 체제 | 마이크로소프트 윈도우 |
| 종류 | 서브버전 클라이언트 |
| 라이선스 | GNU GPL |
| 상태 | 지원 중 |
| 웹사이트 | tortoisesvn |
TortoiseSVN은 마이크로소프트 윈도우용 서브버전 클라이언트 프로그램이다. 설치하면 윈도 탐색기 콘텍스트 메뉴에 등록되어 편리하게 이용할 수 있다. 또한 Merge, Diff 툴을 기본으로 제공한다.
Command line의 경우 다음 명령어를 사용한다.
$ svnadmin create [대상 path 이름]
예를 들어 저장소 안에서 check-out할 file들의 위치가 다음과 같다고 하자.
file:///c:/svn_repository/Project01/trunk/
여기서 Project01이 project 이름이고 trunk는 주류 file이라는 의미이다.
My Documents\Development\Project01\
Sue가 r4를 우선 update 받아서 수정 (Hot Dog을 추가 또는 file 전체 덮어쓰기)한 다음 commit할 수 있다.
Subversion은 기본적으로 locking을 별로 선호하지 않는 system이다. 충돌이 일어날 수 있는 상황인 두 사람이 같은 file 같은 version의 같은 부분을 수정할 확률이 높지 않다고 보는 것이다. 그러나 file의 크기가 크지 않은 경우에는 누가 수정을 하더라도 비슷한 위치에서 수정이 일어나기 때문에 충돌이 일어날 가능성이 더 높을 것이다. 또한, 그림 file 등과 같이 merge가 곤란한 file의 경우, lock을 하는 편이 훨씬 안전하다.
Harry가 어떤 file을 lock하면, Sally는 file을 check-out하거나 update 받을 수는 있지만 commit하지는 못한다. 이후 Harry가 lock을 풀면 Sally가 다시 commit할 수 있다.
Subversion 안에 보관중인 file 자체에 file의 이름, 저자, 개정 번호 등의 정보를 자동적으로 기록, 갱신하기 위하여 keyword를 사용할 수 있다. Subversion에서 사용할 수 있는 keyword들 가운데는 다음과 같은 것들이 있다. (대소문자 구별)
//$Date$
//$Revision$
//$Author$
#include <stdio.h>
int main ()
{
printf (“Hello subverion!!!\n”)
}
$ svn propset svn:keywords "Date Author Revision" [대상 file 이름]

file:///c:/svn_repository/Project01/trunk/
file:///c:/svn_repository/Project01/branch/
file:///c:/svn_repository/Project01/tags/Success_LED_On/
불필요하다. Switch하면 변경된 data만 download 받는다. 원한다면 Main trunk를 check-out 한 folder 밖에 새로 folder를 하나 만들어서 check out할 수도 있다.