顯示具有 Subversion 標籤的文章。 顯示所有文章
顯示具有 Subversion 標籤的文章。 顯示所有文章

星期一, 2月 01, 2010

subversion 1.6.9

subversion 1.6.9 release了,
變動紀錄: http://svn.apache.org/repos/asf/subversion/tags/1.6.9/CHANGES
更新Subversion Server版本至1.6.9,
因此下載
1. neon 0.29.3
2. berkeley db 4.8.26
3. subversion 1.6.9
重新編譯更新之.

星期四, 12月 24, 2009

subversion repository backup and recover

backup All Data:
svnadmin dump [repos_dir] > [dumpfile]

backup Part Data:
svnadmin dump [repos_dir] -r m:n --incremental > [dumpfile]

Recovert Repository:
svnadmin load [repos_dir] < [dumpfile]

星期六, 8月 08, 2009

subversion 1.5.7 & 1.6.4 release

這兩版Subversion主要要解決安全性的問題.

This security issue affects both clients and servers. Clients with commit
access to a vulnerable server can cause a remote heap overflow. Servers
can cause a heap overflow on vulnerable clients that try to do a checkout
or update.

星期三, 9月 17, 2008

svn merge

subversion 1.5在svn merge部份跟以往版本有不同設計理念及做法,
例如在subversion 1.3版指令
svn merge $OLD_URL $NEW_URL .
在subversion 1.5版指令要修改成
svn merge --ignore-ancestry --accept 'postpone' $OLD_URL $NEW_URL .

星期一, 7月 07, 2008

subversion 1.5

最近工作需要又要另外安裝一台Subversion Server for linux,
發現Subversion原始碼不久前升級至1.5版,
1.4->1.5版最大不同在merge專案時有更詳細的紀錄.

於是今天早上就忙著裝安裝新版的Subversion Server為新的專案做準備.

安裝Subversion所需的套件及過程:
=======================
1.依subversion說明需要autoconf 2.58 or laster,libtool 1.4 or later.
檢查系統環境libz 1.2.1,autoconf 2.59,libtool 1.5.6,gcc 3.4.6符合條件.

2.收集expat 2.0.1,libxml2 2.6.32,neon 0.28.2,apache2 2.2.9,swig 1.3.31,python 2.4.5.

3.安裝python,swig.
python安裝時設定指令:
./configure --prefix=[path]
make;make test;make install

swig安裝時設定指令:
./configure --prefix=[path] --with-python=[path] --enable-static=yes
make;make install

4.安裝expat,libxml2,neon
expat安裝時設定指令:
./configure --prefix=[path] --enable-shared --with-gnu-ld=yes
make;make install

libxml2安裝時設定指令:
./configure --prefix=[path] --with-python=[path] --with-zlib=[path]
make;make install

neon安裝時設定指令:
./configure --prefix=[path] --with-libs=[path] --enable-shared --with-libxml2 --with-expat
make;make install

5.安裝apache2
apache2安裝時設定指令:
cd [path_apache2_src]/srclib/apr
./configure --prefix=[path]
make;make install
cd ../apr-util
./configure --prefix=[path] --with-apr=../apr --with-expat=[path]
make;make install
cd ../..
./configure --prefix=[path] --enable-mods=all --with-apr=srclib/apr --with-apr-util=srclib/apr-util
make;make install

6.安裝subversion
./configure --prefix=[path] --with-swig=[path] --with-neon=[path] --with-apxs=[path]/bin/apaxs --with-apr=[path]/bin/apr-1-config --with-apr-util=[path]/bin/apu-1-config --with-zlib
make;make install
=======================

設定專案及專案成員方法:
=======================
1.利用htpasswd建立svn-auth-file
2.設定accesscontrol.conf
[groups]
proj1-developers = john,mary

[proj1:/]
@proj-developers = rw

3. httpd.conf尾端加上以下設定
<Location /repos>
DAV svn
SVNParentPath [repos_path]
AuthzSVNAccessFile [path]/accesscontrol.conf
Require valid-user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile [path]/svn-auth-file
</Location>

4. [path]/bin/svnadmin create proj1 --fs-type fsfs
=======================

星期三, 9月 12, 2007

subversion 1.4.5 for windows

1.先把apache 2.0 win32版安裝好.(apache_2.0.59-win32-x86-no_ssl.msi,安裝路徑c:\)
2.再安裝subversion 1.4.5 for win32.(svn-1.4.5-setup.exe,安裝路徑c:\Subversion)
3.修改c:\apache2\conf,於檔案後端新增如下內容:
=========================================
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so
Include c:/etc/subversion.conf
=========================================
4.新增c:/etc/subversion.conf
=========================================
<Location /repos>
DAV svn
SVNParentPath C:/repos
AuthzSVNAccessFile c:/etc/svn-acl
Require valid-user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile c:/etc/svn-auth-file
</Location>
=========================================
5.新增c:/etc/svn-acl
=========================================
#
# specify groups here
#
[groups]
team1 = harry

#
# team1 group has a read/write access to proj1 repository
# all subdirectories
# all others have read access only
#
[proj1:/]
@team1 = rw
* = r
===============================================
6.用htpasswd新增c:\etc\svn-auth-file(execute c:\apache2\bin\htpasswd -cm c:\etc\svn-auth-file harry)
7.mkdir c:\repos
8.cd c:\repos;svnadmin create --fs-type fsfs proj1
9.把apache server重新啟動,subversion 1.4.5即可正常運作

星期四, 2月 01, 2007

Subversion 1.4.3 Change Note

依照Subversion改版記錄來看,
似乎只針對neon做些小修正,
如果有興趣更新的使用者可以參考subversion server on win32
及Subversion on Linux(New)兩篇內容,
改用subversion 1.4.3及neon 0.26.2替換,
即可更新.

星期五, 10月 20, 2006

[Subversion]subversion server on win32

1.After Download svn-1.4.0-setup.exe from subversion.tigris.org ,install it to C:\Subversion.

2.從apache ftp site下載Apache 2.0.X win32版 server安裝至"C:\ApacheGroup\"。

3.從C:\Subversion\bin目錄中,複製*.so及*.dll至C:\ApacheGroup\Apache2\modules。

4.修改C:\ApacheGroup\Apache2\conf\httpd.conf,最未行增加:
===============================
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so
Include c:/etc/subversion.conf
===============================

5.在c:\etc增加一個檔案subversion.conf。內容如下:
===============================
<location /repos>
DAV svn
SVNParentPath C:/repositories

AuthType Basic
AuthName "Subversion repository"
AuthUserFile c:/etc/svn-auth-file

Require valid-user

AuthzSVNAccessFile c:/etc/svn-acl
</location>
==================================

6.在c:\etc增加一個檔案svn-acl 。內容如下:
=============================
#
# specify groups here
#
[groups]
team1 = harry

#
# team1 group has a read/write access to proj1 repository
# all subdirectories
# all others have read access only
#
[proj1:/]
@team1 = rw
* = r
==============================

7.在環境變數PATH中增加c:\subversion\bin這個路徑。
在C:/repositories目錄中利用svnadmin create proj1。
利用apache公用程式htpasswd建立snv-auth-file,
htpasswd -cm c:\etc\svn-auth-file harry。

8.啟動apache,svn list http://localhost/repos/proj1測試,若成功進入看到資料,就表示server成功安裝。

星期四, 9月 28, 2006

[Subversion]Subversion on Linux(New)

If your shell is bash,you must modify $HOME/.bash_profile,
.bash_profile append this setting:
+===================================================================+
export SVN_HOME=$HOME/svn
export LD_LIBRARY_PATH=$SVN_HOME/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH=$SVN_HOME/bin:/usr/bin:$PATH
+===================================================================+
In terminal,command"source $SVN_HOME/.profile"


1. Install gdbm 1.8.3
tar zxvf gdbm-1.8.3.tar.gz
cd gdbm-1.8.3
./configure --prefix=$SVN_HOME
make
make install

2. Install expat 2.0.0
tar zxvf expat-2.0.0.tar.gz
cd expat-2.0.0
./configure --prefix=$SVN_HOME --enable-shared --with-gnu-ld=yes
make
make install

3. Install libxml2 2.6.27
tar zxvf libxml2-2.6.27.tar.gz
cd libxml2-2.6.27
./configure --prefix=$SVN_HOME --with-python=/usr/bin/python --with-zlib=/usr
make
make install

4. Install neon 0.26.1
tar zxvf neon-0.26.1.tar.gz
cd neon-0.26.1
./configure --prefix=$SVN_HOME --with-libs=$SVN_HOME --enable-shared --with-libxml2 --with-expat
make
make install

5. Install DB 4.4.20
tar zxvf db-4.4.20.tar.gz
cd db-4.4.20/build_unix
../dist/configure --prefix=$SVN_HOME
make
make install

6. Install apache 2.2.3
tar zxvf httpd-2.2.3.tar.gz
cd httpd-2.2.3/srclib/apr
./configure --prefix=$SVN_HOME
make
make install
cd ../apr-util
./configure --prefix=$SVN_HOME --with-berkeley-db=$SVN_HOME --with-apr=../apr --with-gdbm=$SVN_HOME --with-expat=$SVN_HOME
make
make install
cd ../..
./configure --prefix=$SVN_HOME --enable-mods-shared=all --with-apr=srclib/apr --with-apr-util=srclib/apr-util
make
make install

7. Install swig 1.3.29
tar zxvf swig-1.3.29.tar.gz
cd SWIG-1.3.29
./configure --prefix=$SVN_HOME --with-python=/usr/bin/python --enable-static=yes
make
make install

8. Install Subversion 1.4.2
tar zxvf subversion-1.4.2.tar.gz
cd subversion-1.4.2
./configure --prefix=$SVN_HOME --with-swig=$SVN_HOME --with-neon=$SVN_HOME --with-berkeley-db=$SVN_HOME --with-apxs=$SVN_HOME/bin/apxs --with-apr=$SVN_HOME/bin/apr-1-config --with-apr-util=$SVN_HOME/bin/apu-1-config --with-zlib
make
make install

9. Setup the configuration of apahce.

10. finish.

星期日, 9月 24, 2006

[Subversion]Subversion server Introduction

Subversion server提供服務有兩種方式:
(1)Standalone
可配合SSH介由svn+ssh protocol提供服務或是獨立藉svn protocol提供服務.
(2)Apache2 module
可配合SSL介由https protocol提供服務或是獨立藉http protocol提供服務.

目前Subversion最新版本為1.4.0,推出時間為2006/09/10。
之前花了不少功夫研究Subversion建置及管理,今天大致把Subversion所需的元件概述
一遍。
(1) Berkeley DB

subversion repository提供兩種format,一是fsfs格式,另一種是berkeley db格式,在subversion 1.4.0中開始支援BDB 4.4及其auto recovery的功能。

(2)Python 2.4.3, and optional to build the SWIG Bindings

Python 2.4.3;subversion 1.3.2 support SWIG 1.3.28,subversion 1.4.0 support SWIG 1.3.29.

(3)Apache 2.2 or Apache Portable Runtime,and optional for the bundled version of Apache Portable Runtime

Apache 2.2.x,expat-2.0.0,GDBM-1.8.3

(4)neon, and optional for the bundled version of neon

neon-0.25.5,libxml2-2.6.26,expat-2.0.0

星期四, 1月 20, 2005

[Subversion]Subversion Presentation

好久沒有Present...

這次的Subversion Presentation我覺得有把版本控制的精神交代到.
兩大的版本控制的Models:
1.Lock-modify-unlock:代表產品為RCS
2.Copy-modify-merge:代表產品為CVS,Subversion
如果能把這兩大Model的精神融會貫通,
版本控制就能靈活運用,方便自如.

我的Subversion powerpoint 放在http://cyber.cs.ntou.edu.tw/~b86204/Subversion.ppt;
重要的Subversion Document可以到Version Control with Subversion下載.