Subversion

リポジトリの作成

$ svnadmin create /var/svn/smtmpl

標準的なリポジトリ構成

リポジトリ  + trunk (メイン) メインのソースディレクトリなど  + branches (ブランチ用) ブランチのソースディレクトリなど  + tags (タグ用) リリースした時点でのtrunkディレクトリのコピー

リポジトリの構築

$ svn mkdir svn+ssh://svn@tower.rally.or.jp/var/svn/mttmpl/trunk -m "trunkの作成" $ svn mkdir svn+ssh://svn@tower.rally.or.jp/var/svn/mttmpl/tags -m "tagsの作成" $ svn mkdir svn+ssh://svn@tower.rally.or.jp/var/svn/mttmpl/branches -m "branchesの作成" -mオプションで、ログメッセージを指定することができる。指定しない場合は環境変数SVN_EDITORで指定したエディタが立ち上がる。

リポジトリへの登録(インポート)

メインブランチのtrunkにソースをインポートする。 $ svn import src svn+ssh://tower.rally.or.jp/var/svn/mttmpl/trunk -m "srcをimport" なお、Subversion 1.6(CentOS 5.6)では、db/rep-cache.dbにグループの書き込み権がないので、最初にインポートしたユーザーと異なるユーザーでは書込できない。最初のインポート時に以下のコマンドで書き込み許可をしておく。 $ chmod g+w /var/svn/smtmpl/db/rep-cache.db

リポジトリへの追加

$ svn add src/index.html svn+ssh://tower.rally.or.jp/var/svn/mttmpl/trunk -m "index.htmlを追加"

リポジトリからのチェックアウト

$ svn ccheckout(co) svn+ssh://tower.rally.or.jp/var/svn/mttmpl/trunk dir dirにより展開するディレクトリ名を指定できる。指定しなければURLの最終部分に展開される。

タグ付け

リリースする場合は、タグ付けを行う。 $ svn copy svn+ssh://nor@tower.rally.or.jp/var/svn/mttmpl/trunk svn+ssh://nor@tower.rally.or.jp/var/svn/mttmpl/tags/smtmpl-0.1.2 -m "mttmpl-0.1.2としてリリース" これで、smtmpl 1.0.2のタグが作成される。 なお、copyは実際には物理的にファイルをコピーするわけではない。 また、ブランチを作成するにも対象がbranches/になるだけで、copyで行う。

差分確認

ワーキングファイルの修正点の確認。 $ svn diff

情報確認

ワーキングファイルがどのリポジトリからチェックアウトしたかなどの情報確認。 $ svn info

アップデート

リポジトリ上でされている更新の適用。 $ svn update

状態確認

更新状態のチェック。 $ svn status -u -vオプションで最後に更新されているのがどのリビジョンかを見ることができる。 $ svn status -u -v

コミット

$ svn commit -m "styles.cssを修正" file -mオプションで、ログメッセージを指定することができる。指定しない場合は、エディタが立ち上がる。

ログをみる

$ svn log filename

バージョンを選んで取り出す。

$ svn cat -r6 filename $ svn update -r6 filename

マージする

リビジョンを変更する場合。 $ svn merge -r 7:6 filename リビジョン7から6に戻す。 branchesからtrunkへマージする場合。 $ svn merge -r 18:HEAD file:///path/to/svnrepos/branches/hello-1.1

ワーキングファイルの修正を取り消す

$ svn revert filename

ファイルを追加する

$ svn add file2 リポジトリに反映させるためにはコミットが必要。

ディレクトリを追加する

$ svn mkdir doc リポジトリに反映させるためにはコミットが必要。

ファイルを削除する

$ svn delete file2 ディレクトリも削除できる リポジトリに反映させるためにはコミットが必要。

ファイルを移動する

$ svn move file2 file3 ディレクトリも移動できる リポジトリに反映させるためにはコミットが必要。

ある時点でのスナップショットを引き出す

$ svn update -r7 最新にするには、「svn update」を行う。

キーワード置換

$Id$などのキーワード置換を行うにはsvn:keywordsプロパティを設定する。 プロパティを設定するには、 $ svn proset svn:keywords Id filename プロパティの設定を見るには、 $ svn proplist -v filename

参考URL

このブログ記事について

このページは、norが2011年11月 5日 23:51に書いたブログ記事です。

ひとつ前のブログ記事は「Subversion使用の準備」です。

次のブログ記事は「インストール: TortoiseSVN 1.71」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アーカイブ

ウェブページ

Powered by Movable Type 6.8.5