상황: 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.