태그

2013년 9월 3일 화요일

SVN (Software Version Control System) 버전 관리 시스템

SVN (Software Version Control System) 버전 관리 시스템

기본적으로 Server-Client구조



리소스를 관리하고 업무 프로세스를 진행하는 두가지 모델
1. Lock-Modify-Unlock 모델 
 : 한명의 사용자가 파일을 열어 작업하고 있다면, 다른 사용자들은 해당 파일을 수정/저장 할 수 없게 함으로써, 하나의 작업물을 동시에 둘 이상의 사용자가 수정-commit하는 것을 방지한다. 수정 또한 작성한 본인만이 가능.

2. Copy-Modify-Merge 모델 
 : 통합 중심 버전 관리 기법. 모든 사용자가 하나의 작업물을 동시에 편집 가능하다.


용어
1. Revision : 작업물에 대한 고유 번호.저장소에 등록 할 때마다 등록 시점에 대한 고유 번호를 지정.
2. check-out : repository에서 파일 복사본들을 꺼내어 작업본안에 집어넣는 것.
3. export : repository에 있는 파일들의 한 snapshot
4. commit : 변경한 것들을 repository에 다시 집어 넣는 것.
5. trunk : 개발의 주된 흐름 
6. branch : trunk에서 하나의 가지(branch)를 만들어 릴리즈를 준비하는 것..
7. Conflict : 동시에 같은 파일을 두 명 이상의 사용자가 수정하고 각각 커밋할 경우 해당 파일은 충돌이 일어나고, 충돌된 파일의 내용을 merge하거나, 두 파일중 하나를 최신으로 지정하여 충돌 상태를 해결해야 한다.
8. Merge : 작업 복사본과 저장소에 있는 파일의 내용이 다를 경우, 병합 작업을 통하여 두 파일의 내용을 합치게 된다. 

형상관리(Configuration Management , CM)
버전관리가 곧 형상관리인 것은 아니다. 버젼 관리는 형상 관리에 쓰이는 하나의 도구일 뿐이다. 

댓글 없음:

댓글 쓰기