사용자 도구

사이트 도구


develop:vcs:subversion:mytips

문서의 이전 판입니다!


Subversion Command

목적

  1. 개인적으로 자주 이용하는 Subversion 명령을 모아두었다.

관리(Administration)

Create Repository

  1. 새로운 저장소를 생성한다.
    # mkdir -p /opt/svn
    # cd /opt/svn/
    # svnadmin create --fs-type fsfs projectname

Import Project

  1. 새로운 프로젝트를 New Project라는 이름으로 임포트 시킨다.
    # cd /path/to/projectname
    # svn import -m "New Project" . svn://HostName/projectname/trunk
    or
    # svn import -m "New Project" . http://HostName/svn/projectname/trunk

Create tag, branch directory

  1. 테그(tag) 디렉토리를 생성한다.
    # svn mkdir -m "Create tags directory" svn://HostName/projectname/tags
    or
    # svn mkdir -m "Create tags directory" http://HostName/svn/projectname/tags
  2. 브런치(branches) 디렉토리를 생성한다.
    # svn mkdir -m "Create branches directory" svn://HostName/projectname/branches
    or
    # svn mkdir -m "Create branches directory" http://HostName/svn/projectname/branches

Checkout Project

  1. svn 서버를 이용할 경우
     $ svn co svn://HostName/projectname/trunk projectname 
  2. http를 이용하는 경우
     $ svn co http://HostName/svn/projectname/trunk projectname 
  3. OS 계정과 다른 계정으로 가져올때
     $ svn --username=starlits co http://HostName/svn/projectname/trunk projectname 

Diff

  1. 현재 revision이 5 일 경우, revision 4와 차이를 출력한다.
    $svn diff --revision 4 sample.c
    Index: sample.c
    ===================================================================
    --- sample.c    (revision 4)
    +++ sample.c    (working copy)
    @@ -2,7 +2,8 @@
    
     int main()
     {
    -  printf("Sample Program Version 0.1\n");
    +  printf("Sample Program Version 0.2\n");
    +  printf("Hello Subversion\n");
    
       return 0;
     }
  2. revision 4와 5를 비교 하고 싶으면 –revision 4:5 (-r 4:5)로 하면 된다.
    –revision 8:10 도 가능하다.
    $ svn diff --revision 4:5 sample.c
    Index: sample.c
    ===================================================================
    --- sample.c    (revision 4)
    +++ sample.c    (revision 5)
    @@ -2,7 +2,8 @@
    
     int main()
     {
    -  printf("Sample Program Version 0.1\n");
    +  printf("Sample Program Version 0.2\n");
    +  printf("Hello Subversion\n");
    
       return 0;
     }

개발(Development)

History View

  1. 현재까지 Repository에 올라간 로그기록을 보여준다.
     $ svn log 
  2. 현재소스와 Repository의 소스상의 차이를 보여준다.
     $ svn diff 
  3. 로그기록을 ChangeLog 파일로 만들어 준다.
     $ svn2cl 

과거소스 가져오기

  1. 현재 최신 소스를 받아온다.
     $ svn co http://svn.adminschool.net/svn/beflyt/trunk beflyt 
  2. 2008년 1월 1일 소스를 받아온다.
     $ svn co -r {20080101} http://svn.adminschool.net/svn/beflyt/trunk beflyt 
  3. Revision 3 소스를 받아온다.
     $ svn co -r 3 http://svn.adminschool.net/svn/beflyt/trunk beflyt 
develop/vcs/subversion/mytips.1332990231.txt.gz · 마지막으로 수정됨: 2012/03/29 12:03 저자 starlits