2012-02-13 6 views
2

:私たちはWordPressのテーマを開発しているに取り組んでいるプロジェクトのためにマルチソースプロジェクトの最適なSVNリポジトリレイアウトは何ですか?

[ノートはstackoverflowのは、おそらくより適切であるように私は、serverfaultのからこれを移動]、いくつかのWordPressのカスタムプラグイン、iOSアプリケーションとAndroidアプリケーション。すべてのソースコードは、各プロジェクトに独自のリポジトリがある内部Subversionサーバー経由で処理します。

私の質問は、このプロジェクトのSVNリポジトリに最適なレイアウトは何ですか?私はそれを1つのリポジトリに収めることができますか?それとも、テーマ、プラグイン、モバイルアプリケーション用に別々のリポジトリを作成する必要がありますか?

答えて

0

1つのプロジェクトを別々のブランチで作成することはできませんか?

+0

はい、それはアイデアですが、別のプロジェクトでリリースブランチを行うにはどうしたらいいですか? WordPressテーマの1.0リリースやiOSソースの1.1リリースと同じように? –

+2

-1:ブランチは、マージされることが予想されるものに適しています。それだけ。この場合でも遠隔からはどこにもありません。 –

3

個別のリポジトリかどうかは分かれていますが、別々のプロジェクトとして管理する必要があるかどうかは、分岐して一緒にマージするかどうかという問題です。 Subversionでは、1つのリポジトリに複数のプロジェクトを持つことができます。したがって、常に1つのリポジトリしか存在できません。

答えはモジュールがどれほど密接に結びついているかによって異なります。 1つのコンポーネントのいずれかのバージョンが他のコンポーネントの他のバージョンで動作することを期待している場合は、個別のプロジェクトとして管理する必要があります(それぞれtrunkbranchesです)ので、theme/trunktheme/branchesplugin/trunk等。)。変更が複数のコンポーネントに一般的に触れることが予想される場合は、単一のプロジェクトとして管理する必要があります(trunkbranches)。trunk/themetrunk/pluginなどがあります。

サイドノートでは、私は転覆の選択を再考することをお勧めします。より新しい柔軟性と優れた分岐とマージを提供する新しい分散システム(人気度順にGitMercurialBazaar)が提供されています。 Subversionの実装では、その年の後でも、基本的なモデルが分岐にはあまり適していないため、大部分が粗いエッジを示しています。

分散システムとは異なり、ブランチは独立した概念であるため、分散システムは常にリポジトリごとに1つのプロジェクトを持っています。したがって、別々のプロジェクトを持つことに決めた場合は別のリポジトリを使用します。

+0

ありがとうございますJan.私たちは現在、2番目のレイアウトを使用しています。これはあなたの説明に従って最も理にかなっています。プラグインで何かを変更すると、テーマとモバイルアプリも更新されることがよくあります。これを処理する正しい方法だと聞いてうれしいです。 私は分散システムについても理解しています。私たちはかなり長い間SVNを使用してきましたが、まだ切り替えることは決してありませんでした。しかし、私は必要が生じたときに切り替えるのにはオープンです。 –

+0

@vvanscherpenseel:私は転覆から逃げなければならなかった点に遭遇したことはありません。代わりに、時折何かを誤ってやってしまうような破壊を伴う厄介なことや、ここやそこで少しの仕事を節約する機能を持たないことはほとんどありません。 –

関連する問題