Home > QuickReference > Subversion

Subversion

  • Posted by: YAMAGISHI Norimasa
  • 2011年11月 5日 23:51
  • QuickReference

リポジトリの作成

$ 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

Trackbacks:0

TrackBack URL for this entry
http://rally.jp/cgi-bin/mt/mt-tb.cgi/2088
Listed below are links to weblogs that reference
Subversion from Computer

Home > QuickReference > Subversion

Search
etc...
Feeds

Return to page top