개발자라면 언젠가는 사용하게되는 것이 버전관리툴(svn, git, ...)과 Issue Tracker 죠.


오늘은 TortoiseGit 과 issue tracker 를 연동하는 법을 소개하겠습니다.(단순히 issue 번호에 link 거는 정도 까지만 입니다.)


TortoiseGit 으로 Local 저장소를 준비해주세요.


그리고 연동할 Issue Tracker 도 있어야겠죠?


윈도우 탐색기에서 Local 저장소를 선택 후 우클릭 하고 


TortoiseGit -> Settings 클릭하면 아래와 같은 화면이 뜹니다.






- Hook Scripts/Issue Tracker Config 를 선택

- Config source 는 공통적으로 적용할 예정이므로 Global 을 선택했습니다.

- bugtraq.url : http://my_mantis/view.php?id=%BUGID% <- (요건 제가 사용중인 MantisBt 이니, 각자가 사용하고자 하는 IssueTracker 의 url 을 넣으셔야 합니다)

- bugtraq.message : %BUGID%

- bugtraq.logregex : Test 버튼 눌러서 입력합니다.


  


Message part expression : [Ii]ssues?:?(\s*(,|and)?\s*#\d+)+

Bug-ID expression : (\d+)


- 이제 설정이 완료되었습니다.


- git commit log 작성시 Tester 의 Sample text 처럼 입력하면 log 확인창에 아래와 같이 issue 번호에 링크가 걸리게 됩니다.




이제 링크를 클릭하여 Issue Tracker 의 해당 이슈가 보이면 성공이죠~


이상으로 TortoiseGit 에 Issue Tracker 연동 방법에 대한 정리를 마치겠습니다~~ 






 

SVN 백업 및 복구#

 

SVN 백업 및 복구에 대해 노트한다.

1. 백업#

백업 및 복구는 해당 저장소의 상위 디렉토리에서 수행한다.

ex) gostop 이라는 저장소(d:\svn_rep\gostop)가 있고 이를 백업(gostop_backup.bak)하려고 한다.

2. 복구#

ex) gostop_backup.bak 이라는 백업파일을 사용하여 저장소를 복구하려고 한다.

-. 먼저 저장소를 만든다.

-. svnadmin load 명령을 내린다.



svn checkout 시 http://192.168.0.2/project_name 처럼 해놓았을 때...
svn server 가 설치된 pc 의 ip 가 변경되면 사용하는 모든 working copy 에 대해 TortoiseSVN -> Relocate 를
하여 변경된 ip 로 바꿔주어야 한다. working copy 가 많으면 아주 많이 귀찮다... ㅡㅡ^
귀찮은 건 딱 싫은데...

[해결 Tip]
svn checkout 시 http://svn_server/project_name 이런식으로 서버의 domain name 으로 한다.
domain name 은 다음과 같이 client pc 의 특정 파일을 메모장 등의 에디터로 열어 등록해놓으면 된다.

linux : /etc/hosts
windows(2000/xp) : /windows/system32/drivers/etc/hosts

ex) /window/system32/drivers/etc/hosts
 192.168.0.2            svn_server

이제는 server ip 가 바뀌었을 때 hosts 파일의 ip 만 변경해주면 된다~~

ProjectA 라는 프로젝트가 있고 LibA 라는 라이브러리가 있고,
둘다 버전관리를 svn 으로 하고 있다고 가정해보자.

아마도 머지않아 ProjectA 에서 LibA 를 사용하고 싶을 때가 있을것이다.
(LibA 가 너무 편하고 익숙했던거지... ㅎㅎ)
svn에는 이럴 때 사용할 수 있는 svn:externals 란 기능이 있다.

- svn:externals 기능을 쓰지 않는 경우
d:/Work/ProjectA/include/LibA 라고 만들고 LibA 에 있는 실제 파일들을 복사해서 넣고
ProjectA 의 svn 에 해당 폴더를 Add 한다.
결과 : svn/ProjectA 에 LibA 의 파일들이 추가된다.

- svn:externals 기능을 쓰는 경우
ProjectA/include 에서 svn:externals 명령을 통해 LibA/include 의 svn 경로를 지정한다.
결과 : svn/ProjectA 에 LibA 의 파일들이 추가되지 않는다. 단지 연결만되어 있는 것이다.


############### svn:externals 사용법 ############
* windows 환경 :
-. d:/Work/ProjectA/include 폴더 속성
-. Subversion 탭 선택->속성
-. 새로만들기
-. 속성이름 콤보박스에서 svn:externals 선택
-. 속성 값
    //svn_server_ip:port_number/rep/LibA/include/LibA LibA
-. svn update 하면 d:/Work/ProjectA/include/LibA 가 생성된다.

* linux 환경
-. /work/ProjectA/include 폴더로 change directory 한다.
-. 다음과 같이 입력하면 편집기가 열릴것이다. (주의 : '.' 까지 친다)
   svn propedit svn:externals .
   편집기에 다음과 같은 형식으로 입력한다.
   LibA http://svn_server_ip:port_number/rep/LibA/include/LibA
-. svn update 하면 /work/ProjectA/include/LibA 가 생성된다.
####################################################

기본적인 사용법만을 다루었으니 좀 더 많은 기능을 원한다면 google 에게 물어보자.

+ Recent posts