본문 바로가기

개발

[svn] 저장소 옮기기 local to linux

상황: pc에 있는 svn 저장소를 svn 서버로 옮기려고 합니다.


안드로이드 앱과 앱을 지원하는 서버 사이트 개발중입니다.

앱과 사이트 코드는 개발자 pc에서 svn 으로 관리하고 있습니다.

PC에서 관리하던 각 저장소를 svn 서버로 모으려고 합니다.

SVN 서버에 지정된 저장소로 옮기되 앱과 사이트를 구분하고자 합니다.


SVN 서버에 사용할 저장소가 이미 생성되어 있습니다.



>> 로컬 저장소 백업(dump)

D:\Repo> svnadmin dump ./co3la > co3la.dump

>> ftp upload



>> 서버 저장소 폴더 확인

[root@localhost repos]# svn list svn://localhost/co3la

>> 서버 저장소에 폴더 추가

[root@localhost repos]# svn mkdir -m "make server folder" svn://localhost/co3la/svr

>> 해당 폴더에 리스토어(load)

- 리스토어 하는 폴더를 지정

[root@localhost repos]# svnadmin load --parent-dir svr /repos/co3la < co3la.dump

>> 서버 저장소의 기존 폴더 삭제

[root@localhost repos]# svn delete -m "delete default trunk folder" svn://localhost/co3la/trunk



>> 클라이언트(TortoiseSVN)에서 작업폴더가 가진 저장소 연결정보 삭제

.svn 폴더 삭제

>> 서버 저장소에서 체크아웃

svn://xxx.xxx.xx.xx/co3la/svr/trunk




LOCAL REPOSITORY


D:\Repo> dir

...

2017-01-17  오후 05:32    <DIR>          co3la

...


D:\Repo> svnadmin dump ./co3la > co3la.dump

* Dumped revision 0.

* Dumped revision 1.

* Dumped revision 2.

* Dumped revision 3.

...

* Dumped revision 78.

* Dumped revision 79.

* Dumped revision 80.


D:\Repo> dir

...

2017-01-17  오후 05:32    <DIR>          co3la

2017-04-10  오전 10:00         8,574,337 co3la.dump

...



ftp upload co3la.dump to svn server



REMOTE REPOSITORY


[root@localhost repos]# svn list svn://localhost/co3la

branches/

tags/

trunk/


[root@localhost repos]# svn mkdir -m "make server folder" svn://localhost/co3la/svr

커밋된 리비전 7.

[root@localhost repos]# svn mkdir -m "make android folder" svn://localhost/co3la/android

커밋된 리비전 8.


[root@localhost repos]# svn list svn://localhost/co3la

android/

branches/

svr/

tags/

trunk/


# 리스토어 하려는 폴더를 지정 : /repos/co3la/svr 폴더로 리스토어

[root@localhost repos]# svnadmin load --parent-dir svr /repos/co3la < co3la.dump

<<< 새로운 트랜잭션 시작, 리비전 1에 기반함.

     * 경로 추가중 : svr/branches ... 처리되었습니다.

     * 경로 추가중 : svr/tags ... 처리되었습니다.

     * 경로 추가중 : svr/trunk ... 처리되었습니다.


------- 커밋한 새 리비전 9 (원본 리비전 1에서 적재됨) >>>


<<< 새로운 트랜잭션 시작, 리비전 2에 기반함.

     * 경로 추가중 : svr/trunk/Connect.info.txt ... 처리되었습니다.

     * 경로 추가중 : svr/trunk/app ... 처리되었습니다.

     * 경로 추가중 : svr/trunk/app/attach ... 처리되었습니다.

     * 경로 추가중 : svr/trunk/app/attach/attachControl.php ... 처리되었습니다.

...

...


<<< 새로운 트랜잭션 시작, 리비전 79에 기반함.

     * 경로 편집중 : svr/trunk/app/fcm/fcmControl.php ... 처리되었습니다.

     * 경로 편집중 : svr/trunk/notification/noti.php ... 처리되었습니다.


------- 커밋한 새 리비전 87 (원본 리비전 79에서 적재됨) >>>


<<< 새로운 트랜잭션 시작, 리비전 80에 기반함.

     * 경로 편집중 : svr/trunk/app/fcm/fcmControl.php ... 처리되었습니다.

     * 경로 편집중 : svr/trunk/app/fcm/fcmModel.php ... 처리되었습니다.

     * 경로 편집중 : svr/trunk/app/member/memberModel.php ... 처리되었습니다.

     * 경로 편집중 : svr/trunk/notification/noti.php ... 처리되었습니다.


------- 커밋한 새 리비전 88 (원본 리비전 80에서 적재됨) >>>

[root@localhost repos]# 


# 기존에 생성한 폴더는 삭제한다.

# svr, android 폴더별로 trunk, branches, tags를 관리한다.

[root@localhost repos]# svn delete -m "delete default trunk folder" svn://localhost/co3la/trunk

커밋된 리비전 89.

[root@localhost repos]# svn delete -m "delete default tags folder" svn://localhost/co3la/tags

커밋된 리비전 90.

[root@localhost repos]# svn delete -m "delete default branches folder" svn://localhost/co3la/branches

커밋된 리비전 91.


반응형