私は Subversion を学ぶ過程にあり、これまでに 1 つか 2 つのことを学びました。単純なプロジェクトを保存するための Google Code アカウントと svn リポジトリを作成しました。問題は、svn を整理する方法です。リポジトリ。「Hello World」という名前の Android プロジェクトと、「Hello World Test」という名前のテスト プロジェクトを作成したとします。両方のプロジェクトをリポジトリのトランクにインポートする必要がありますか? テスト プロジェクトもリポジトリ トランクに入れるのは理にかなっていますか?
3 に答える
ローカル ファイル システム:
Google が推奨する最善のアプローチは、公式開発ガイドからのものです。
テスト プロジェクトはファイル システムのどこにでも作成できますが、テスト プロジェクトを追加して、そのルート ディレクトリ tests/ がメイン アプリケーションのプロジェクトの src/ ディレクトリと同じレベルになるようにすることをお勧めします。これは、アプリケーションに関連付けられたテストを見つけるのに役立ちます。たとえば、アプリケーション プロジェクトのルート ディレクトリが MyProject の場合、次のディレクトリ構造を使用する必要があります。
MyProject/ AndroidManifest.xml res/ ... (resources for main application) src/ ... (source code for main application) ... tests/ AndroidManifest.xml res/ ... (resources for tests) src/ ... (source code for tests)
SVN リポジトリで:
転覆の要点はチームワークのためです。最良のアプローチは間違いなくトランク/タグ/ブランチ構造を使用することです:
https://svn/my-repo/ MyProject/ branches/ 1.1.1-fork/ AndroidManifest.xml res/ src/ tests/ tags/ version-1.0.0/ AndroidManifest.xml res/ src/ tests/ version-1.1.0/ trunck/ AndroidManifest.xml res/ src/ tests/ AndroidManifest.xml res/ src/
通常、どのように使用しますか:
- 開発中は、常にtrunk/からcheckout/commitしてください。
- 各リリースの前に、tags/ の下で (トランクから) すぐにリリースできるコードにタグを付けます。
- 他の人と同時に作業する場合 (大きな変更)、branchs/ の下に (トランクから) コードのコピーを作成し、ブランチでの作業を開始します。完了したら、次のリリースのためにトランクにマージします。
私自身の経験から、プロジェクト グループの最も効率的で合理的な構造 (ローカル ファイル システムとバージョン管理システムの両方に使用される) は、Maven のマルチモジュール プロジェクトです。GitHubでこのサンプルを確認してください。
Javaプロジェクトとsvnを使用した私の経験としては、ビジネスクラスとテストクラスが同じプロジェクト全体の一部であるため、同じプロジェクト内にビジネスクラスとテストクラスを含める方が便利だと思います。
それは完全にあなた次第です。個人的には、テスト プロジェクトもある場合、それらは両方とも同じフォルダーの下にあります。
svn
/HelloWorld
/HelloWorld
/HelloWorldTest
そうすれば、ブランチやタグがある場合は、それらをサブフォルダーにも保持できます。
結局のところ、それはホーム フォルダーや「マイ ドキュメント」のような単なるフォルダー構造であり、必要に応じて整理 (または OCD を緩和) することができます。