Subversion@Ubuntu10.10

今までsubversionの使い方をよく知らず
ようやく便利さが分かったのでメモ

インスト

$ sudo apt-get install subversion libapach2-lib

設定

$ sudo vi /etc/apache2/mods-enabled/dav_svn.conf

<Location /svn>
  # Digest認証
  AuthName "hoge"
  AuthType Digest
  AuthUserFile "<.htdigestのパス>"
  Require user <ユーザ名>
  # SSL必須
  SSLRequireSSL
  # SVN
  DAV svn
  SVNParentPath /home/svn
</Location>

$ sudo apache2ctl restart

SVNディレクトリを作成

$ mkdir /home/svn
$ sudo chown -R www-data:www-data /home/svn

リポジトリを作成

$ sudo svnadmin create /home/svn/hoge
$ sudo chown -R www-data:www-data /home/svn/hoge

SVNクライアント側での基本的な使い方

リポジトリに初期登録

$ svn import -m "init" https://〜/svn/hoge . (カレントディレクトリをリポジトリに初期投入

チェックアウト

$ svn checkout https://〜/svn/hoge .(カレントディレクトリにリポジトリを読込む

コミット

$ svn commit(カレントディレクトリをリポジトリへ書出す
$ svn commit hoge.txt(特定のファイルだけ

追加と削除と移動(名前変更)

$ svn move hoge.txt hogedir
$ svn add hoge.txt(リポジトリにファイルを追加
$ svn del hoge.txt(リポジトリのファイルを削除
※commit時に反映

差し戻す

$ svn merge -r 10:9(リビジョン10から9へ戻す
$ svn merge -r 10:9 hoge.txt(特定のファイルだけ

その他

$ svn status(変更状況の確認
$ svn diff(変更箇所の確認
$ svn log(変更履歴の確認
$ svn update(リポジトリの変更をクライアント側に反映
$ svn info(リポジトリの情報を確認
$ svn switch --relocate <旧リポジトリパス> <新リポジトリパス>(リポジトリの変更


奥が深すぎるけど個人使用だとこれだけで十分


ついでにソース内の日本語が文字化けしてたので修正
$ sudo vi /etc/apache2/conf.d/charset

AddDefaultCharset UTF-8

$ sudo apache2ctl restart