Subversionネタ(2)
ここ2〜3日で学習したこと。
ついでに、さっき見つけたサイト。結構わかりやすい。
http://tortoisesvn.bluegate.org/dailyuseguide.html
SVNでのディレクトリ構成
- リポジトリの起点ディレクトリ
- プロジェクト名?(ここはあってもなくても良さそう)
- trunk
- branches
- tags
- プロジェクト名?(ここはあってもなくても良さそう)
という形で運用するのが一般的らしい。で、各々のディレクトリの分類については以下の通り。らしい。
- trunkディレクトリ
メインのソースの格納場所。基本的に、ここがオフィシャルな最新のソースとなる。
- branches
開発中のソースの格納場所。とりあえずここで開発して、開発が落ち着いたら上記trunkディレクトリにマージする。ようするに作業用に使う。
- tags
ある特定のバージョンのソースを格納する。ここにリリースバージョンのソースの登録などを行う。
簡単な開発シナリオは以下のような感じになると思われる。
- trunkから最新ソースを取得
- 自身の作業が完了するまではbranchesに保存して作業を続ける
- 作業完了したらtrunkへマージ
- リリース時期が来たらtagsにversionxx等として保存する
こんな感じらしい。
で、実際にeclipse+subclipseを使っていて一番困ったこと。
これはeclipse環境が悪いのかわからないけど。
いざコミットしようと思うと、意図せずファイルのロックが発生してしまい、よくわからないが「クリーンアップをしてくれ」というメッセージが出るのだが、実際にクリーンアップ作業を行うとエラーがでて処理が終わらない。……当然、ファイルのロックは解除されない。
このような状態になってしまうと、ファイルの更新もできないし、コミットもできない。今回は遊びでやってるから危機感ないけど、実務だったら冷や汗ものだ。
きちんと原因と対処方法を考えておかないとなぁ。部内のSubversion導入者としては。