티스토리 뷰

카테고리 없음

[ubuntu]svn설치

수학소년 2023. 11. 21. 09:54

1. svn설치

# apt-get install subversion
# svn --version

 

2. repository 생성

# mkdir /svn
# mkdir /svn/repository

# cd /svn/repository
# svnadmin create test

 

3. repository 설정

# cd /svn/repository/test/conf
# ll
total 28
drwxr-xr-x 2 root root 4096 Nov 21 02:09 ./
drwxr-xr-x 6 root root 4096 Nov 21 02:09 ../
-rw-r--r-- 1 root root 1080 Nov 21 02:09 authz
-rw-r--r-- 1 root root  885 Nov 21 02:09 hooks-env.tmpl
-rw-r--r-- 1 root root  309 Nov 21 02:09 passwd
-rw-r--r-- 1 root root 4375 Nov 21 02:09 svnserve.conf

 

3-1. 계정

# vi passwd
...
[users]
# 아이디 = 비번
test = 1
...

 

3-2. 권한

# vi authz
...
# [/foo/bar]
# harry = rw
# &joe = r
# * =
[/]
test=rw
...

 

3-3. repository에 설정파일 연결

# vi svnserve.conf
########## 주석제거하기
...
anon-access = read
auth-access = write
...
password-db = passwd
...
authz-db = authz
...

 

4. svn 설정

# vi /etc/init.d/svnserve
#! /bin/sh
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $local_fs $syslog $remote_fs
# Required-Stop: $local_fs $syslog $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start svnserve
### END INIT INFO

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="svnserve"
NAME=svnserve
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="-d -r /svn/repository" ######### 이 부분만 잘 맞추기
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

[ -x "$DAEMON" ] || exit 0

[ -r /etc/default/$NAME ] && . /etc/default/$NAME

. /lib/init/vars.sh
. /lib/lsb/init-functions

do_start()
{
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
        || return 1

    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS \
        || return 2
}

do_stop()
{
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
    RETVAL="$?"
    [ "$RETVAL" = 2 ] && return 2
    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
    [ "$?" = 2 ] && return 2
    rm -f $PIDFILE
    return "$RETVAL"
}


case "$1" in
    start)
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
            0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
            2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;

    stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
            0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
            2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
            esac
            ;;

    restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
        0|1)
            do_start
            case "$?" in
                0) log_end_msg 0 ;;
                1) log_end_msg 1 ;; # Old process is still running
                *) log_end_msg 1 ;; # Failed to start
            esac
            ;;
        *)
            # Failed to stop
            log_end_msg 1
            ;;
        esac
        ;;
*)
    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
    exit 3
    ;;
esac

exit 0
# chmod 755 /etc/init.d/svnserve
# update-rc.d svnserve defaults
# service svnserve start
svn://ip:post/test

 

5. eclipse에서 프로젝트 연동

(서버컴 아닌)개인 로컬에 연동할 프로젝트가 있다 치고.

노란통+(New Repository Location) 클릭

URL, Authentication(User, Password, Save authentication 체크) 적고 Finish

그럼 아무것도 없는 상태.

여기서 trunk, branches, tags 폴더를 추가

repository에 오른쪽클릭-New-Folder...

 

연동할 프로젝트에 대고 오른쪽클릭-Team-Share Project...

SVN 선택하고 Next

Create a new repository location으로 하면 연동하면서 만들수 있나봄??(다음에 해봐야지)

여기서는 Use existing repository location 선택-연동할 svn서버 선택-Next

URL이 나오는데, Browse...눌러서 trunk에 선택-Finish

 

commit comment적고 OK

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함