YUM을 통한 설치
yum install subversion
기본 리파지터리 생성 및 설정
svnadmin create /리파지터리를_만들경로
vi /리파지터리경로/conf/svnserve.conf
아래의 내용을 삽입
(익명 액세스 불가, 액세스 유저 권한 = 쓰기가능, 패스워드디비 = 파일명)
[general]
anon-access = none
auth-access = write
password-db = fucking_plaintext
realm = This is my Repository
vi /리파지터리경로/conf/fucking_plaintext
[users]
root = 내루트비밀번호
사용자 = 비밀번호
서버 시작
혹시 바보가 있을까봐 쓴다만.. xinetd나 standalone 둘중 하나만 선택해서 해야한다 -_-
xinet.d 를 통한 서비스 운영시
vi /etc/xinetd.d/svnstandalone daemon mode
(아래 화면은 VI모드에서 입력할 내용, -r의 절대경로는 자기꺼에 맞게 수정할것)
service svn
{
socket_type = stream
wait = no
user = root
server = /usr/bin/svnserve
server_args = -r /리파지터리경로 -i
disable = no
}
# echo "svn 3690/tcp #svn" >> /etc/services
# echo "svn 3690/udp #svn" >> /etc/services
# service xinetd restart
# svnserve -d
USAGE
add , blame (praise, annotate, ann) , cat
checkout (co) , cleanup , commit (ci) , copy (cp), delete (del, remove, rm)
diff (di), export, import , info, list (ls), lock, log , merge
mkdir , move (mv, rename, ren) , revert , status (stat, st)
update (up)
주로사용하는 명령어는 위와같다.
svn은 각 디렉토리에 .svn 이라는 폴더를 만들어 이 경로가 리파지터리와 싱크됨을 선언하게된다.
따라 그 파일을 지워버리면, working copy 가 아닌게 되므로 더이상 svn명령을 사용할수 없게되므로 주의해야한다.
이와 유사한 역할을 하는것이 export 명령어다.
최초사용시 -
svn import /소스파일폴더 svn://내svn주소/reposit경로 -m "first loading"
등을 통해 소스파일을 모두 reposit 에 업로드를 한다. import를 사용한 경우 현재 업로드한 디렉토리가 svn에 싱크되는 워킹카피가 되지 않는다.
checkout 명령어로 리파지터리의 자료를 받아옴 -
svn checkout svn://내svn주소/reposit경로 서버절대경로
예제)
cd /opt/devel/cryptolib
svn checkout svn://svn.dgtalx.net/aes2048/cryptoapi .
커밋 (워킹디렉토리 내용을 저장소로 동기화, 애칭으로 체크인이라고 한다)
-m 은 커밋에 따르는 리비전 메시지를 입력하는란
svn ci -m "first committing"
checkout 이 된 뒤부터는 working copy (경로연동)이 되어있으므로 이상태에서 관리명령어는 그냥 디렉토리에서 치는것을 기준으로 한다.
워킹 copy 디렉 (/opt/devel/cryptolib/ 기준) 에서 새로운 파일을 만들어 repositary에 올릴때
#vi new_source.c
- 내용 대충 만들고 저장 -
#svn add new_source.c
#svn ci -m "source modified"
Posted by LeCieL



