2016-05-12 17 views
-1

私は定期的に大規模プロジェクト(ish)の計算流体力学(CFD)モデリングシミュレーションを行い、異なるファイルバージョンを管理するためのより良い方法を探しています。 gitとsvnでいくつかのワークフローを経験していますが、私の必要性をすべて満たしていないと確信しています。ファイル単位のバージョン管理

  1. セットアップキャリブレーションシミュレーションのための初期ファイル:

    典型的なワークフローは、このです。設定

  2. 微調整このファイルと再実行(リピートステップ1)

  3. キャリブレーションに満足して、パラメータ

  4. の最高のセットからセットアップ検証の実行を校正/検証がすべて完了し、デザイン実行のファイル: ie。シナリオA、シナリオB、シナリオCあなたが出力するシナリオCで重要な何かを忘れてしまった

  5. おっと、あなたはわずかな変化をしなければならないとして再実行シミュレーション

現在の練習があります連続する各ラン001,002等の名前を変更する。これにより、「最良の」較正が最高のランナンバーでなかった場合には、不明確になる。いくつかのものをテストしましたが、必ずしも改善しませんでした。シナリオシナリオの最新の結果とシナリオAとシナリオBの両方を比較する必要がある場合は混乱しますが、シナリオCは002です。

バージョン管理システムでは、連続したコミットと古いバージョンとの比較を示します。ボーナスは支店の「ベスト」バージョンを追跡することができます。これまでのところ最高の較正シミュレーションが可能で、すぐにそのバージョンに戻すことができます。

第2に、既存のファイルの特定のバージョンのテンプレートから新しいファイルを作成する必要があります。つまりシナリオシミュレーションABとCのファイルを作成するときは、最新のキャリブレーション/検証設定のコピーを作成し、異なるシナリオ(異なるシミュレーション時間、異なるジオメトリなど)を定義してそれらのシナリオをコミットする変更を行います。次に、シナリオを迅速に比較し、共通のバージョンを確認することができます。

第3に、多くのシステムで使用される可能性がある最後の機能は、フォルダ内で複数のバージョンのファイルを一度にチェックアウトできることです。つまり週末の前に私はわずかに異なるパラメータで10回のシミュレーションを設定し、それらをすべてバッチで実行して、月曜日の朝に最高のものを選ぶことができ、ツリーを現在の最良のものに折り畳むことができます。

これは、最近のファイルの変更を見ることができ、1つのファイルの変更を個別にコミットし、最も重要なのは1つのファイルを以前のバージョンに個別に戻す素晴らしいGUI(Windowsの場合はgithubと考える)を持つことが理想的です。私は基本的に、校正、検証、シナリオA、B、およびCのファイルをいつでもフォルダに保存したいだけですが、いくつかのバージョンをチェックアウトして後で崩壊させるオプションがあります。

オンラインの周りを見て、そのようなニッチシステムdoesntが存在することを示唆し、私は自分自身を作成することに逆らっていません。しかし、誰かが既存のシステム(Git?)のために良い仕事をしていますか?私の要件のすべてまたは少なくともほとんどをカバーしていますか?あるいは、私が何らかの形で一緒に始めることができ、一緒にハックすることができる、おそらくどんなツールでも?または、すべての最高は、多くのことをカバー不思議システム...

答えて

1

理想的には、バージョン管理システムは、古いバージョン

どれ VCSに連続する各コミットと表示し比較をログに記録することができるだろうボーナスはブランチで「ベスト」バージョンを追跡することができることでしょう

基本的な機能として、それを持っている

ブックマーク/タグ/ラベル(同じタスクの異なるVCSで異なる名前「マークの歴史の中で特別にいくつかのポイント」)

第二に、システムがの​​テンプレートから新規ファイルの作成を許可する必要があります既存のファイル

分岐のバージョン与えられ、再び - 多くのシステムの使用可能性を破ることがほとんどのコア(?すべて)VCS

最後の機能があることです一度に複数のバージョンのファイルをフォルダにチェックアウトすることができます。

どのようにこれを想像しますか?とにかくまたはFS

「それにcheckouted異なるバージョンでの作業dirsにある程度の量が」ではありません|すべてのOS用Folder1/FileAこのパスで一意である必要があり、それはFolder2/FileA ... FolderN/FileAまたはFolder1/FileA1でなければなりません... Folder1/FileANとまた、既存のVCSを使用することができます上記の注意事項に従った任意のVCS(実装の詳細のみが原因異なる性質のために異なる場合があります)まあ


と、ほぼすべてのVCSのための大きな問題(素敵なGUIだけで性を排除することができます一部いくつかの場合、fe GそれはWindows上で)

+0

私は理想的には、複数のブランチを1つのフォルダでいつでもチェックアウトしたいと思っています。シミュレーションは、多くの場合、バッチで実行されるか、Linuxクラスタ上で並列に実行されます。明らかに、異なるフォルダに複数のブランチ/クローンを持つことは可能です。しかし、仕事を提出することははるかに複雑になり、まったく新しいフォルダ構造が必要になります。 – TDevlin

+0

@TDevlin - [Git-worktree](https://git-scm.com/docs/git-worktree)? http://stackoverflow.com/a/30185564/960558(Gitを使用せず、テスト済みのワークツリーではなく、読み込みのみ)、または[共有拡張](https://www.mercurial-scm.org/wiki)も参照してください。/ShareExtension)を変更しない場合**チェックアウトされたデータ –

+0

@TDevlin - しかし私の選択(私は** Gitを憎み、純粋なバニラソリュートを使うことを好みます)は1) Mercurial 2)それぞれのセットを 'hg archive -r REV -tファイルdestname-%R'(repoでどのdirがどのリビジョンにあるかを区別するために%R)で準備する3)テストを実行する –

関連する問題