#author("2024-09-02T03:33:43+00:00","default:iseki","iseki")
#author("2024-09-02T03:33:51+00:00","default:iseki","iseki")
* Subversion [#mecf2f09]
- つい Secondversion と言ってしまいそうになる バージョン管理ツール~
- つい Secondversion と言ってしまいそうになる バージョン管理ツール

** Links [#o5856791]
- Home: http://subversion.tigris.org/
- Download: http://tortoisesvn.net/downloads


** Install [#y1b7b150]
- Apache が ''--enable-dav --enable-so'' オプション付でコンパイルされている必要がある. 
- コンパイル,インストール
 # ./configure --with-apxs=/usr/local/apache/bin/apxs [--with-sqlite=/usr/local]
 # make
 # make install
- /usr/local/apache/modules に ''mod_authz_svn.so, mod_dav_svn.so'' がインストールされる


**** v1.8.10 [#n2b0e419]
- sqlite がないと subversion をコンパイルできない.
- serf もないと駄目.# serf はどこから落としたか忘れた
- 1.8.10 では http のクライアント が変更になったが,うまくインストールできないので,http://~ で指定できない.

 # wget www.sqlite.org/2014/sqlite-autoconf-3080702.tar.gz
 # zcat sqlite-autoconf-3080702.tar.gz |tar xfv -
 # ...
 # cd subversion-1.8.10
 # ln -s ../sqlite-autoconf-3080702 sqlite-amalgamation
 # ln -s ../serf-1.3.8 serf            
 # ./configure --with-apxs=/usr/local/apache/bin/apxs
 # make 
 # make install
 #
 # cd /usr/local/apache/modlues            なぜか so ファイルが /usr/local/apache/modules にコピーされない?
 # rm mod_*_svn.so
 # ln -s /usr/local/libexec/mod_*_svn.so .


*** sqlite3_config などのリンクエラー [#iafe8d1a]
- --with-sqlite を付けてもリンクエラーを起こす場合 (例:v1.6.6)
 # cd subversion-1.6.6
 # wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
 # zcat sqlite-amalgamation-3.6.13.tar.gz |tar xfv -
 # ln -s sqlite-3.6.13 sqlite-amalgamation
 # ./configure --with-apxs=/usr/local/apache/bin/apxs
 # make 
 # make install

** Apache Setup Files [#xdb493c3]

*** httpd.conf [#kc558862]
 Include conf/subversion.conf

*** subversion.conf [#i7dba30c]
- [[Digest認証]] の使用例 
 <Location /svn/linux>
    DAV svn
    SVNParentPath /home/svn/linux
    AuthType Digest
    AuthName "NSL"
    AuthUserFile  "/usr/local/apache/digest/passwd"
    <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
    </LimitExcept>
 </Location>
 
 <Location /svn/vc++>
    DAV svn
    SVNParentPath /home/svn/vc++
    AuthType Digest
    AuthName "NSL"
    AuthUserFile  "/usr/local/apache/digest/passwd"
 </Location>

- パスワードファイルの作り方
 htdigest [-c] /usr/local/apache/digest/passwd レルム ユーザー名
 htdigest2 [-c] /usr/local/apache/digest/passwd レルム ユーザー名
- The -c flag creates a new file


**  Command [#ne1be775]

*** リポジトリの作成 [#o352898b]
**** local file [#h490115a]
 # cd  <データディレクトリ>
 # mkdir /home/svn/linux/test
 # svnadmin create /home/svn/linux/test/
 # svn import -m "first" . file:///home/svn/linux/test/trunk
 # chown -R www.www /home/svn/linux/test
**** remote file [#i57a112e]
 サーバ:
 # mkdir /home/svn/linux/test
 # svnadmin create /home/svn/linux/test/
 # chown -R www.www /home/svn/linux/test
 
 リモート:
 $ cd  <データディレクトリ>
 $ svn import -m "first" . http://www.nsl.tuis.ac.jp/svn/linux/test/trunk

*** Server (Apache) [#y824e8aa]
- アップグレード
 #svnadmin upgrade svn/xxx

- リポジトリのコピー(バックアップ)
 # cd /home/svn/linux
 # svnadmin hotcopy test test2

- ブランチの作成
 # svn mkdir -m "" http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/branches
 # svn import -m "v0.6.7" . http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/branches/0.6.7

- ブランチの削除
 # svn delete -m "mis v0.6.7"  http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/branches/0.6.7

*** Client [#da09685a]
- アップグレード
 $ svn upgrade .

- チェックアウト
 $ svn co http://www.nsl.tuis.ac.jp/svn/linux/TUIS_Lib/trunk TUIS_Lib
-- proxy の設定
 vi ~/.subversion/servers
    [global]
    http-proxy-host = プロキシサーバ
    http-proxy-port = ポート番号 

- カレントディレクトリで無視するファイルを指定 (エディタが起動するので,無視するファイルを記入して保存する)
 $ svn propedit svn:ignore .

- 任意のリビジョンにする
 $ svn update -r ####         ####:リビジョンNo.

- ブランチを切り替える
 $ svn sw "URL of branche"

- command に実行ビットを設定する.
 $ svn propset svn:executable on command


** Trouble Shooting [#n3b7c3cb]
*** どうしてもロックが外れない [#dd4a1cd0]
- サーバの該当リポジトリのディレクトリに移動する.
 # cd ./db/lock
 # grep -R bdb_tool.cpp .     (bdb_tool.cpp はロックしたファイル)
 ./23a/23a16e5f411733325d11d5f15009fc0c:/trunk/ExtendLib/xLib/bdb_tool.cpp
 # rm ./23a/23a16e5f411733325d11d5f15009fc0c


*** use Proxy [#nf1dcb5c]
-$ vi ~/.subversion/servers
 [global]
 # http-proxy-exceptions = *.exception.com, www.internal-site.org
 http-proxy-host = 202.26.159.212   <-- proxy server's IP address
 http-proxy-port = 8080             <-- proxy server's port number

*** エラー [#hf64e8ae]

**** svn: PROPFIND request failed on [#od6103a8]
- 認証のエラー?  -> ~/.subversion を削除


#br

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS