2011-02-01 12 views
2

いくつかの大きな(100MB +)CSVファイルに含まれるバージョン管理データのベストプラクティスは何ですか?テキストデータのバージョン管理のベストプラクティス

SVNはいいですか?

更新: しばらくの間、これを審議した後、私はそれがGZIPに良いオプションかもしれ感じる/ CSVファイルをジップ、その後レポに追加します。そうすれば、ディスクスペースを浪費することなく、バージョン管理の頭痛を軽減できます。手動でバージョンを管理するよりも、それほど良くないとは限りません。

まだ完璧なソリューションを探しています。

また、小さなメモ: ファイルのコンテンツのバージョン管理は必須ではありません。私が変更の要約を記録したり、各バージョンにメモを追加できる限り、ファイル内でどのような言葉が変更されたかを知る必要はありません。

答えて

1

SVNはネットワーク経由ですべてのデータを転送するため、非常に遅いです。 ローカルのgitまたはhgリポジトリを試してください。これは、ネットワークよりもはるかに高速でなければならないファイルへのアクセスのみが必要です。両方のリポジトリタイプには、ファイルの移動、ファイルの名前の変更、およびマージに関する操作がはるかに優れています。さらに、gitは 'プラグイン'を使用して、オフィス文書(odf、docなど)をマージするなどのさらなるファイルタイプをサポートできます。

SVNとは対照的に、圧縮リポジトリを含む隠れたrepoディレクトリが1つしかありません。 SVNには、ファイルの最後の状態(およびその他のもの)を含むすべてのサブディレクトリに.svnディレクトリがあります。

いくつかのランダムな番号:リポジトリ内

すべてのファイルのサイズを想定は(情報をレポではない)100メガバイト

  • アンSVNのチェックアウトは、すべての古いバージョンからtranferredしなければならない、250メガバイトに200を取るですSVNサーバー。
  • すべてのバージョンを含むgitまたはhg repoは150MB(ファイルが十分に圧縮可能であると仮定します)になります。

これは私たちがSVNとgitで経験したことです。私はhg(水銀)を時折使用しています。

MrEyesについては、CSVファイルまたはファイル名にバージョン情報を追加することをお勧めします。 Gitは変更を含むファイルの名前を変更します。

1

これは主にこれらのファイルの使い方によって異なります。

SVNと他のほとんどのソース管理システムは、特定のバージョンのファイルを一意に識別するリビジョン番号を提供します。新しいCSVをコミットするたびに、このコミットは独自のリビジョン番号を持ちます。

しかし...

状況によっては、良い解決策ではないかもしれません。あなたはCSVをチェックインして、これはSVNリビジョン番号1234にあります。誰かがそのファイルをチェックアウトし、多分それを誰か他の人に送信するなどします.CSVの所有者は、CSVから、最新バージョンを使用しているかどうかは分かりません。

個人的には、ファイル名にバージョン番号を付けるか、バージョン番号を含むCSVの先頭/末尾に行を追加しますが、これらは使用方法によっても異なります。思考のための

食品...

EDITは、さらにそれが、SVNのSVNの腸をwithingので、毎回チェックインのCSVの差分をサポートしている場合、私は確かではないよ、差分に問題がある可能性があるかもしれません古いファイルを完全に置き換えます(古いファイルは参照用に保持します)。それはすぐに大量のディスクスペースを使用する可能性があります。

関連する問題