バージョンコントロールの下に開発ツール(コンパイラ、IDE、エディタなど)とランタイム環境(jre、.netフレームワーク、インタプリタなど)を置くことには、いくつかの理由があります。まず、リポジトリをチェックアウトするだけで、簡単にプログラムをコンパイル/実行することができます。あなたは他の何かを持つ必要はありません。第二に、トリプルは一度それをテストしたので確実にバージョン互換です。しかし、それ自体の欠点があります。主なものは、バージョン管理システムの下に置かなければならない大量のバイナリファイルです。その結果、VCSの処理速度が低下し、バックアップ処理が困難になる可能性があります。あなたのアイデアは何ですか?開発/ランタイムツールをリポジトリに配置していますか?
答えて
私が見つけたのは、ソース管理機能付きのlibまたは依存関係フォルダに「デフォルトではないインストール」の依存関係が含まれています。ランタイムは、GACによって提供され、想定される種類です。
まず、リポジトリをチェックアウトするだけで、簡単にプログラムをコンパイル/実行できます。
真実ではありません:ツールを取得/コピー/チェックアウトするだけでは不十分な場合があります。その代わりに、ツールもワークステーションにインストールする必要があります。
個人的に私は、ソースバージョン管理システムではライブラリとサードパーティのコンポーネントを見てきましたが、ツールは見ていません。
"3rdParty"という名前のソースコントロールの下のフォルダにすべての依存関係を保持します。私はこれがとても納得のいくものであることに同意します。そして、あなたは単にソースをプルダウンして行くことができます。これは本当にソースコントロールのパフォーマンスに影響しません。
実際のドローバックは、プルダウンする初期サイズがかなり大きくなる可能性があることです。私の状況では、誰かが彼が通常はそれを実行するコードをダウンを引っ張って誰もが、それは大丈夫です。しかし、もしあなたが多くの人々が単に読んでソースをプルダウンすることを期待すれば、これは迷惑になる可能性があります。
プロジェクトのコンパイルとビルドに実際に使用されるツールや依存関係は、問題をデバッグしたり、古いバージョンの修正を開発したり、古いバージョンのものに移行したり、古いものとかなり互換性があります。
IDEの&編集者いいえ、理想的には、プロジェクトはスクリプトからビルド可能で、これらは必要ないはずです。生成された出力は、ソースの編集に関係なく、同じになります。
オーナーシップIDE(Visual Studioなど)でも、ライセンスの問題があるため、誰がどのソフトウェアを使用しているのかを管理することが難しくなります。
編集: またソースコード内のソースコードを自動的にチェックアウトするバッチファイル(およびすべての依存関係)をソース管理に保存していました。開発者は、適切なビットと断片をリポジトリで検索する代わりに、 "Setup"フォルダをチェックアウトし、バッチスクリプトを実行するだけです。
私は、適切な.netのバージョンと必要なすべてのものを含む、 "How-to-get-this-project-running"と呼ばれるすべてのプロジェクトルートにテキストファイル(したがって容易に差分可能)サービスパック。
私はこれが私が働いていた複数の場所で行われているのを見ました。すべてのケースで、私はそれがかなり便利であることが分かった。
- 1. .protoプロトコルバッファファイルのみをリポジトリに配置しますか?
- 2. Gitリポジトリは物理的にファイルシステムに配置されていますか?
- 3. "ascii art" printfをchar配列に配置していますか?
- 4. リポジトリをクローンしてローカル&テストを開発する
- 5. 開発ロケールと異なるロケールにアプリケーションを配置する
- 6. Eclipse:NDKリファレンスを置く場所は?ネイティブ開発が欠落していますか?
- 7. 開発へのリポジトリの展開。
- 8. リポジトリを「テンプレート」として使用して新しいリポジトリを開始する方法はありますか?
- 9. json forループを配置してUIPickerViewに配置します
- 10. divをセンタリングし、上下に配置していますか?
- 11. スクロール位置に基づいてdivを配置します
- 12. protovisはまだ活発に開発されていますか?
- 13. numpy配列を展開して配置する
- 14. リポジトリをGithubのフォルダに配置することはできますか?
- 15. リポジトリに保存されるドメインオブジェクトを準備する長いコードはどこに配置しますか?
- 16. Web開発にLuaを使用していますか?
- 17. モバイルアプリケーション開発用にVirtualBoxを使用していますか?
- 18. Haskell開発用にSublime 2を使用していますか?
- 19. Googleはアプリケーション開発にRubyを使用していますか?
- 20. Umbraco - ウェブサイトノードの外側にコンテンツを配置していますか?
- 21. コンパイラがメモリをヒープに配置していますか?
- 22. コードのセクションを別のスレッドに配置していますか?
- 23. SVNエラー "リポジトリを一時的に移動しました...再配置してください"
- 24. UIImageをCGPathのパーセンテージに配置して開始点を作成します。
- 25. 配列に何かを置いている間にエラーが発生しました。 C
- 26. クローニング/ミラーリング専用の開発用Gitリポジトリ
- 27. GitリポジトリとGitブランチベースの開発
- 28. Djangoの開発はバザールの開発モデルに従っていますか?
- 29. シンボリックリンクをgitリポジトリに置いてファイルを追加できますか?
- 30. SVNリポジトリの一部を新しいリポジトリにコピーしますか?
私は通常、コンパイラを内蔵しているeclipseを使用していますので、VCSの下に置くことをお勧めします。 – user156178
私は同意する必要があります。ビルド=ソース+ツール。両方を持たない場合は、ビルドしていないし、シンク後に直接ビルドすることもできます。新鮮なマシンであっても、成熟した開発環境の特徴です。 –