Subversionのメモ

世間では、すっかりGitで、自分もそろそろこっちをつかってみたい。とりあえず、本とか入門記事を読んでいるところ。

[Git]記事一覧 - kaishitaeiichiの日記

なんだけど、その前に、いまさらだけど、Subversionのメモを残しておこう。記念に?!

日々の作業

  • trunkをつくる
  • trunkからbranchをつくる
  • branchは、日々、複数、並行して、作成、利用されている
  • branchは、ひととおりの作業が終わると、日々、trunkへマージされる
  • trunkへ、あるbranchがマージされたら、別のブランチは、trunkからこのマージされた分を、自分自身にマージする必要がある。
    • そうしないと、どんどん差分ができて、そのbranchをtrunkへマージするとき、おそららくたくさんの差分やら競合が発生する。
    • branchからtrunkへマージできないのは、これをすっかり忘れているか、あるいはしくじっていることが多いと思う。
  • リリース時にはtagをつくる。

Subversionのクライアント

設定ファイル
  • ホームディレクトリ配下にあるsubversionの設定ファイルを確認してから、svnクライアント(GUI, svnコマンド)を実行すべし。
  • 会社やプロジェクトで統一されている場合もある。
svnコマンド

TortoiseSVNとかEclipseのほうが楽だよ。ホント。

  • svn help
    • svnはサブコマンドがたくさんある。まあ、これが、はじめはよくわからないんだが。
  • svn copy
    • branchをつくる
    • tagをつくる
      • リリース時によく使う
  • svn checkout
  • svn update
  • svn add
    • ファイルつくっても、addしておかないと、commitできない
  • svn delete
  • svn revert
  • svn log
  • svn merge
  • svn merge --integrate trunkへマージしたいbranchのurl ローカルにchekcoutしたtrunkのパス
    • これは、特に、branchからtrunkへマージするときの便利オプション。branchからtrunkへマージは、別に、--integrateでなくても良い。
    • このコマンドでtrunkへマージできるのは1回限り。1度マージしたらもうこのbranchは利用しないほうが良いらしい。
    • trunkをcheckoutして、ローカルでmergeする
    • merge後、ローカルのtrunkからサーバのtrunkへcommit
    • http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/svn_merge_reintegrate.html
  • svn export url exportされるディレクト
    • checkoutと異なり、中身を取り出すだけ。commitやupdateなどはできない。
    • exportされるディレクトリは、コマンド実行時に作成される。逆に、事前に作成してあると、エラーになる。
    • リリース時によく使う
      • リリースタグをexport

参考
sunsept.com
個人的によく使う svn コマンドの使い方まとめ | バシャログ。