Programmer Application Note

레이블이 svn인 게시물을 표시합니다. 모든 게시물 표시
레이블이 svn인 게시물을 표시합니다. 모든 게시물 표시

2015년 4월 9일 목요일

svn 서버 구축

오전 2:38 Posted by PAN.SPOT , No comments
ubuntu 14.04 기준

1.패키지 설치
$sudo apt-get install apache2
$sudo apt-get install apache2-utils
$sudo apt-get install subversion libapache2-svn
$sudo apt-get install rcconf

2.apache authorization 파일 생성
최초 생성 시
$sudo htpasswd -c /etc/apache2/authorization.auth 사용자명
사용자 추가 시
$sudo htpasswd  /etc/apache2/authorization.auth 사용자명

3. apache2 svn 설정
$sudo vi /etc/apache2/mods-enable/svntrac.conf

<Location /svn>
DAV svn
SVNListParentPath On
SVNParentPath /home/svn
# How to authenticate a user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/apache2/authorization.auth
# Only authenticated users may access
Require valid-user
</Location>

4.프로젝트 폴더 생성
$cd svn경로
$mkdir 프로젝트명
$svnadmin create 프로젝트명
$chown -R www-data:www-data 프로젝트명
$svn mkdir http://192.168.0.232/svn/supernova/trunk -m 'add trunk'
$svn mkdir http://192.168.0.232/svn/supernova/branches -m 'add branches'
$svn mkdir http://192.168.0.232/svn/supernova/tags -m 'add tags'

5.시작 할때 마다 apache2 실행
$rcconf
apache2 선택

※ 기본 계정인 www-data를 변경 하고 싶다면?
$vi /etc/apache2/evnvars
export APACHE_RUN_USER=여기를 변경
export APACHE_RUN_GROUP=여기를 변경

svn merge

오전 12:34 Posted by PAN.SPOT , No comments

● svn merge -r 옵션과 -c 옵션

svn merge -c 130 == svn merge -r 129:130
svn merge -c -130 == svn merge -r 130:129

● merge branches -> trunk 


       







▶ branches에서 수정된 30~34번까지의 내용을 trunk에 적용하려면?
$svn switch trunk URL : 작업사본을 trunk로 변경 (이미 trunk라면 생략)
$svn merge -r29:34 branches URL : 주의 할점은 30번 내용이 적용 될려면 29부터해야한다.

merge완료 후 commit 하면 R35(terminal:둥근모양) 상태가 된다.








▶ 만약 32번 내용만 빼고 merge 하려면?
$svn switch trunk URL : 작업사본을 trunk로 변경 (이미 trunk라면 생략)
$svn merge -r29:31 -r32:34 branches URL 

▶ cherry-pick 옵션을 이용한 리비전 선택 merge
$svn merge -c30,31,33,34 branches URL 

2015년 4월 7일 화요일

svn url 변경

오후 7:07 Posted by PAN.SPOT , No comments
서버 저장소 주소 변경
$svn relocate

branches <-> trunk 간 주소 변경
$svn switch
   - switch는 하나의 로컬작업 저장소에서  branches로 일시 전환 했다가 trunk로 전환 할때 사용 한다.

svn 충돌 해결법

오후 6:54 Posted by PAN.SPOT , No comments

(e) edit - 병합된 파일을 편집기로 열기 
(df) diff-full - 병합된 파일을 보기 
(r) resolved - 병합된 파일을 채택하기 
(dc) display-conflict - 모든 충돌 사항을 보이기(잘 병합된 부분 제외) 
(mc) mine-conflict - 충돌 부분에 대하여 작업사본을 선택하기 
(tc) theirs-conflict - 충돌 부분에 대하여 저장소본을 선택하기
(mf) mine-full - 충돌난 파일에 대하여 작업사본 파일을 선택하기
(tf) theirs-full - 충돌난 파일에 대하여 저장소본 파일을 선택하기
(p) postpone - 나중에 해결할 것으로 표시해두기
(l) launch - 외부 툴을 실행하여 충돌을 해결
(s) show all - 옵션을 모두 출력