Subversion

トップ > チップス > Subversion
2012-02-13, svn

基本設定

共有リポジトリの作成

複数のユーザ間で共有できるリポジトリの作成方法。流れは{link:cvs}と同じです。 :# useradd svn :# chmod 750 /home/svn :# chmod g+s /home/svn :# su - svn :(以下svnユーザで操作) :$ mkdir repos :$ svnadmin create /home/svn/repos

共有したいユーザの分だけ以下を実行。 :# usermod -G svn $\{username\}

**基本操作

普段の操作

{strong:プロジェクトのインポート} :$ svn import repos file:///path/to/repos -m "initial import"

{strong:プロジェクトのチェックアウト} :$ svn checkout file:///path/to/repos :$ svn checkout svn+ssh://hostname/path/to/repos

{strong:ファイルの追加、移動、削除、差分確認} :$ svn add file :$ svn move file :$ svn remove file :$ svn diff file

{strong:コミット} :$ svn commit -m "your comment."

{strong:変更状態の確認} :$ svn status

{strong:エクスポート} (.svnフォルダが無い状態でプロジェクトを取り出します) :$ svn export file:///path/to/repos

※作業セット放棄のための特別なコマンドはなく、(CVSと異なり)そのまま削除しても構いません。

URL表記

,*URL,*説明 ,file:///,ファイルシステム上 ,http://,WebDAV経由 ,https://,同上+SSL ,svn://,svnserver独自プロトコル ,svn+ssh://,同上+SSHトンネル

ブランチとタグ

ブランチやタグを扱う概念はない。その代わり慣習として、プロジェクト下に以下のようなディレクトリ構造を作り、それぞれの時点でtrunk内のデータを任意の名前でコピーすればブランチやタグを定義するのと同等の事ができる。 -(プロジェクトフォルダ) プロジェクト --trunk 開発の中心 --branches ブランチ --tags タグ

:$ svn copy trunk tags/20080709

GUIクライアント

-TortoiseSVN:{link:http://tortoisesvn.tigris.org/} 参考:{link:/tips/software/tortoisesvn,TortoiseSVNの使い方} -iSVN:{link:http://www.einhugur.com/iSvn/index.html}

サーバを起動する

ローカルやsshトンネル経由で接続する場合は必要ありませんが、TCP経由で接続することもできます。以下のコマンドでサーバが起動し、TCP3690番ポートが開きます。 :$ svnserve -d

停止する場合は、プロセス番号を指定してkillコマンドを実行します。デフォルトの状態では、誰でもこのポートに接続し、データを読み出すことが可能になっています(書き込みは不可)。特定のユーザに対し書き込みを許可したりするなど、権限を変更するための設定は各リポジトリのconfフォルダ内にあります(設定ファイル内のコメントが詳しいので、何とかなるでしょう)。

起動したサーバには以下のようなURLでアクセスすることができます。 :svn://hostname/path/to/repos

**バックアップ :$ svnadmin dump path/to/repos > dump.txt

:$ svnadmin hotcopy path/to/repos path/to/newrepos

**トラブルシュート

リポジトリが壊れた

まずこのへんを試してみる。 :$ svnadmin verify /path/to/repos :$ svnadmin recover svnrepos

それでも駄目なら、データベースのログを全て消してしまう。 :$ cd svnrepos/db :$ rm log.* :$ cd ../../ :$ svnadmin recover svnrepos

{link:http://masaki.blogzine.jp/mac_prog/2005/07/berkeley_db__f93c.html,参考リンク}

**関連リンク -{link:subversionSetup,FreeBSDへのセットアップ方法} -ドキュメント:{link:http://subversion.bluegate.org/doc/} -{link:http://www.02.246.ne.jp/~torutk/subversion/intro.html}

この記事は役に立ちましたか?