nDiki
2005年1月31日 (月)
■ 外部定義か作業ディレクトリを分けるか、trunk にブランチか

Subversion のリポジトリのレイアウトを思案中。
repos
|
+- branches
|
+- tags
|
+- trunk
|
+- project
| |
| +- 2004
| |
| +- 2005
|
+- texmf
という構成がある。 project に年別のサブブロジェクト 2004、2005 がある。 texmf は repos 以下で共有したいマクロディレクトリ。
問題は各サブプロジェクトでどうやって texmf を共有するか。 ここで 2005 + texmf を使用する際には 2004 まで一緒に作業ディレクトリにチェックアウトしたくないとする。 texmf は各プロジェクトの共通部分で随時改良される。 これらの改良は各プロジェクトで共有したい。
ただしプロジェクトの tag を打つ場合はその時点で使用されている texmf もセットで tag を打っておき、その tag をチェックアウトする事でサブプロジェクトのセットを再構築できる必要がある。
@ 作業ディレクトリを2つチェックアウトする方法
trunk/project/2005 trunk/texmf
の2つをチェックアウトする。2005 ディレクトリからは ../../texmf で参照するようにする。
@ 利点
- texmf を一括管理できる。
@ 欠点
- 作業者が2つの作業ディレクトリをこの構成でチェックアウトすることを知っている必要がある。間違えて違うURLをチェックアウトしてしまうかもしれない。
- 更新も毎回2つのディレクトリでする必要がある。texmf の update 忘れる等のミスをおかしやすい。
tag を打つ場合は
tags/release-1.0.0/project/2005 tags/release-1.0.0/texmf
と2つをとりまとめる必要がある。
@ サブプロジェクトにブランチを作る方法
texmf を trunk/project/2005/texmf のようにコピーする。
trunk
|
+- project
|
+- 2005
|
+- texmf
2005 ディレクトリからは texmf で参照するようにする。
@ 利点
- チェックアウトする人間は trunk/project/2005 をチェックアウトするだけで良い(texmf サブディレクトリは再帰的にチェックアウトされる)。
- trunk/project/2005 の tag を作るだけで、閉じたスナップショットを作れる。
- texmf が他のプロジェクトと独立する。
@ 欠点
- trunk/project/2005/texmf から trunk/texmf へのマージ、また逆へのマージを適宜行って同期しておく必要がある。骨が折れる。
- trunk の下にブランチ的な要素があるのがちょっと気持ち悪い。
@ 外部定義(svn:externals)を使う方法
trunk/project/2005 の svn:externals 属性として trunk/texmf のURLを指定し trunk/project/2005/texmf となるようにする。
@ 利点
- チェックアプトする人間は trunk/project/2005 をチェックアウトするだけで良い(texmf 外部定義は自動的にチェックアウトされる)。
- texmf を一括管理できる。
@ 欠点
- texmf 以下は別として扱われるので、更新処理などのオーバーヘッドが結構ある(遅い)。
- tag 打ちが面倒
tag を打つ際は
tags/release-1.0.0/project/2005 tags/release-1.0.0/texmf
と2つをとりまとめた上、tags/release-1.0.0/project/2005 の svn:externals のURLを書き換える必要がある。
将来リポジトリが移動してURLが変わった際も(実体は同じリポジトリにあるにもかかわらず)全てのURLを書き換える必要がある。
あるいは tag を打つ際に svn:externals をクリアし tags/release-1.0.0/project/texmf とコピーする方法もある。
@ どれにするか?
去年は外部定義を使用する方法で運用してみたが、update が遅い等それほど使い勝手が良くなかった。
今回はブランチ方式にしようかなと思う。 マージが面倒なようなら、次回は一番上の方式で。
- ドキュメント管理用 Subversion リポジトリ作成 (2004-03-04)
- 今日のさえずり: 今日ようやく 20,000 Teets こえた (2011-11-10)
- 今日のさえずり: 生まれて初めて10円券20枚を行使した (2010-12-20)
- Subversion における trunk から branch へのマージ (2011-05-07)
- 今日のさえずり: 「ユナイテッド93」レンタルしたら、まさかのビンラディン容疑者殺害発表 (2011-05-02)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.182678s / load averages: 1.33, 1.29, 1.15
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker
Base theme by Nana (for tDiary)


◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox