- 現在の環境
- Subversion 1.4でリポジトリ作成
- 1.4のリポジトリに1.6.x系のクライアントでアクセス
- yumでSubversion 1.6をインストール
- 1.4で作成されたリポジトリに1.4と1.6でアクセス
- 1.4でチェックアウトした作業コピーを1.6で操作
- 1.6で作成されたリポジトリに1.4からアクセス
- まとめ
現在の環境
- OS: CentOS release 5.2 (Final)
- Subversion: バージョン 1.4.2 (r22196)
- mod_dav_svn: 1.4.2
Subversion 1.4でリポジトリ作成
# cd /var/www/svn # svnadmin create project1 --fs-type fsfs # chown -R apache.apache project1
$ mkdir project1 $ ethna add-project sample $ cd .. $ svn import -m "New Import" project1 http://[ip]/svn/project1/trunk/project1 $ rm -fr project1 $ svn checkout http://[ip]/svn/project1/trunk/project1 ./project1
1.4のリポジトリに1.6.x系のクライアントでアクセス
(db/formatも2のまま)
yumでSubversion 1.6をインストール
# yum update subversion Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.khlug.org * updates: mirror.khlug.org * extras: ftp.daum.net Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package subversion.i386 0:1.6.11-7.el5_6.4 set to be updated --> Processing Dependency: subversion = 1.4.2-4.el5_3.1 for package: mod_dav_svn --> Running transaction check ---> Package mod_dav_svn.i386 0:1.6.11-7.el5_6.4 set to be updated --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================= Updating: mod_dav_svn i386 1.6.11-7.el5_6.4 base 78 k subversion i386 1.6.11-7.el5_6.4 base 3.1 M Transaction Summary ======================================================================================================================================================= Install 0 Package(s) Update 2 Package(s) Remove 0 Package(s) Total download size: 3.2 M Is this ok [y/N]: y Downloading Packages: (1/2): mod_dav_svn-1.6.11-7.el5_6.4.i386.rpm | 78 kB 00:00 (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (13%) 11% [===== ] 0.0 B/s | 360 kB --:-- ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (27%) 25% [============ ] 738 kB/s | 816 kB 00:03 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (35%) 33% [================ ] 744 kB/s | 1.1 MB 00:02 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (60%) 60% [============================- ] 868 kB/s | 1.9 MB 00:01 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (71%) 70% [=================================- ] 883 kB/s | 2.2 MB 00:01 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (76%) 75% [==================================== ] 862 kB/s | 2.4 MB 00:00 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (81%) 81% [======================================- ] 843 kB/s | 2.5 MB 00:00 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (86%) 86% [========================================= ] 822 kB/s | 2.7 MB 00:00 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (91%) 91% [===========================================- ] 807 kB/s | 2.9 MB 00:00 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (95%) 95% [=============================================- ] 784 kB/s | 3.0 MB 00:00 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm (99%) 99% [===============================================-] 762 kB/s | 3.1 MB 00:00 ETA (2/2): subversion-1.6.11-7.el5_6.4.i386.rpm | 3.1 MB 00:03 ------------------------------------------------------------------------------------------------------------------------------------------------------- Total 764 kB/s | 3.2 MB 00:04 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : subversion [1/4] Updating : mod_dav_svn [2/4] Cleanup : subversion [3/4] Cleanup : mod_dav_svn [4/4] Updated: mod_dav_svn.i386 0:1.6.11-7.el5_6.4 subversion.i386 0:1.6.11-7.el5_6.4 Complete!
# /etc/init.d/httpd restart
1.4で作成されたリポジトリに1.4と1.6でアクセス
$ cd /tmp $ svn checkout http://[ip]/svn/project1/trunk/project1 ./project1 $ cd project1 $ vim sample/www/index.php $ svn commit -m "index.phpの変更"
1.4でチェックアウトした作業コピーを1.6で操作
$ cd /path/to/project1 $ vim sample/www/index.php $ svn commit -m "index.phpの変更"
1.6で作成されたリポジトリに1.4からアクセス
# cd /var/www/svn # svnadmin create project2 --fs-type fsfs # chown -R apache.apache project2
まとめ
- yum updateによるSubversion 1.4.2 -> 1.6.11のアップデートではリポジトリのフォーマットは変更されない
- 1.4.2で作成されたリポジトリにsvn 1.4とsvn 1.6の両方でアクセスしても問題ない
- 1.6.11で作成されたリポジトリにsvn 1.4とsvn 1.6の両方でアクセスしても問題ない
Subversion 1.5で追加されたshardingという機能はリビジョンが1000を超えると影響がありそうだが、それもテストできていない。
