{{tag>[archive]}}
====== svn (subversion) ======
==== Cycle ====
* ''info'':
* ''init'': 저장소 생성
* ''import'': 최초 소스 업로드(이클립스 Team > Share Project)
* ''checkout'': 최초 가져오기.
* ''add'': 변경
* ''remove''
* ''update'': 가장 최근 소스를 로컬로 가져옴(변경사항만)
* ''comflict'': 충돌 발생시 처리
* ''commit'': (check-in) 저장소에 업로드. 갱신. 리비전 증가
* ''export'': 버전을 제외한 순수한 파일만 받아옴.
* ''trunk'': 프로젝트 중심 디렉토리.
* ''branches'': 서브 개발
* ''tag'': 특정 릴리즈를 따로 저장
* ''hook'': 저장소의 이벤트에 의해 실행되는 프로그램
* ''lock'': 독점
* ''merge'': 브런치 병합
===== Usages =====
* [[svn:usages]]
* [[svn:svnadmin]]
* [[svn:svnserve]]
===== USAGE (tortoise) =====
* ''**svn** [OPTIONS] [args]''
* ''**svn** **add** path'' 추가
* ''**svn** **auth** [OPTIONS] [args]''
* ''**svn** **blame** [OPTIONS] [args]''
* ''**svn** **cat** [OPTIONS] [args]''
* ''**svn** **changelist** [OPTIONS] [args]''
* ''**svn** **checkout** repository path'' 체크아웃
* ''**svn** **cleanup** [OPTIONS] [args]''
* ''**svn** **commit** [OPTIONS]''
* ''**-m** message'' 커밋
* ''**svn** **copy** [OPTIONS] [args]''
* ''**svn** **delete** path'' 삭제
* ''**svn** **diff**'' 차이 비교
* ''**svn** **export** [OPTIONS] [args]''
* ''**svn** **help** [OPTIONS] [args]''
* ''**svn** **import** [OPTIONS] [args]''
* ''**svn** **info** [OPTIONS] [args]''
* ''**svn** **list** [OPTIONS] [args]''
* ''**svn** **lock** [OPTIONS] [args]''
* ''**svn** **log**'' 로그 조회
* ''**svn** **merge** [OPTIONS] [args]''
* ''**svn** **mergeinfo** [OPTIONS] [args]''
* ''**svn** **mkdir** path'' 폴더 생성
* ''**svn** **move** source-path target-path'' 파일/폴더 이름 변경
* ''**svn** **patch** [OPTIONS] [args]''
* ''**svn** **propdel** [OPTIONS] [args]''
* ''**svn** **propedit** [OPTIONS] [args]''
* ''**svn** **propget** [OPTIONS] [args]''
* ''**svn** **proplist** [OPTIONS] [args]''
* ''**svn** **propset** [OPTIONS] [args]''
* ''**svn** **relocate** [OPTIONS] [args]''
* ''**svn** **resolve** [OPTIONS] [args]''
* ''**svn** **resolved** [OPTIONS] [args]''
* ''**svn** **revert** [OPTIONS] [args]''
* ''**svn** **status**'' 상태확인
* ''**svn** **switch** [OPTIONS] [args]''
* ''**svn** **unlock** [OPTIONS] [args]''
* ''**svn** **update**'' 업데이트
* ''**svn** **upgrade** [OPTIONS] [args]''
===== USAGE (TortoiseProc) =====
* ''**TortoiseProc.exe** /command:update /path:"작업경로"'' 업데이트
* ''**TortoiseProc.exe** /command:commit /path:"작업경로" /logmsg:"메시지"'' 커밋
* ''**TortoiseProc.exe** /command:log /path:"작업경로"'' 로그
* ''**TortoiseProc.exe** /command:diff /path:"작업경로"'' DIFF
* ''**TortoiseProc.exe** /command:add /path:"작업경로"'' 추가
* ''**TortoiseProc.exe** /command:revert /path:"작업경로"'' 되돌리기
* ''**TortoiseProc.exe** /command:cleanup /path:"작업경로"'' 정리
===== Installation =====
++++ RHEL |
dnf install svnserve
++++
====== svn server ======
* default port: 3690
===== Installation =====
++++ Linux |
# root 계정으로 할 것
dnf install svnserve
# Envrionment Variables - 임의
export SVN_ROOT_REPOSITORY=/home/repos
export REPOSITORY_NAME=test
mkdir -p $SVN_ROOT_REPOSITORY
cd $SVN_ROOT_REPOSITORY
svnadmin create --fs-type fsfs $REPOSITORY_NAME
# $SVN_ROOT_REPOSITORY/$REPOSITORY_NAME/conf/svnserve 수정
systemctl start svnserve
systemctl enable svnserve
++++