200mbのファイルがあります。現時点では、rsyncを使用して、開発者が変更されたときにrsyncを転送します。水銀のリポジトリの一部としてインクルードすると、mercurialはrsyncのようなdiffを転送するだけですか、変更されたときにフルファイルを転送しますか?水銀はフルファイルを転送するの?それとも差分のみを転送するのですか?
答えて
Mercurialは、hg pull
のときにのみデルタを転送します。それ以外の場合はのバージョン管理がまったく機能しません。
hg pull
とすると、ローカルクローンにすべてのチェンジセットがありません。各チェンジセットにはデルタのみが含まれています。デルタは小さいか大きいかもしれませんが、rsync
で見つかったデルタに満足すれば、Mercurialにも満足しているはずです。
バイナリファイルについて:Mercurialはではありません。はコミット時に "text"と "binary"ファイルを区別します。それらはすべて同じように扱われ、すべての場合にデルタ圧縮が使用されます。これを混乱させる原因は、編集ごとにファイルが大幅に変更された場合、デルタ圧縮は役に立たないということです。デルタはファイル自体と同じ大きさになります。その場合、Mercurialは実際にはファイルの圧縮スナップショットを保存します。
+1 'hg incoming'もチェンジセット(またはこの場合はデルタ)を完全にダウンロードすることにも注意してください。 –
私が知る限り、Mercurialはバイナリのデルタを格納したり転送したりしません。だから私はこの答えがこの場合には正しいとは思わない。 –
@LaurensHolst: "バイナリ"ファイルの場合でも、デルタを作成します。私はこれを明確にするために答えを更新しました。 –
大きなファイルを処理するためにいくつかのMercurial拡張が作成されています。これらは、ファイル自体をバージョン管理するのではなく、チェックサムをバージョン管理することによって動作します。
Mercurial 2.0以降を使用している場合は、デフォルトでLargeFilesExtensionが含まれています。ドキュメントは、拡張子がどのように動作するかを説明します。
ラージファイルの拡張子は クローンについて、過剰な帯域幅を必要とせずにMercurialのでは大規模な、非圧縮性 バイナリファイルを追跡することが可能と引っ張ります。 largefilesとして追加されたファイルは、Mercurialによって直接 で追跡されません。それらのリビジョンはチェックサムで識別され、 とMercurialはこれらのチェックサムを追跡します。この方法で、 リポジトリをクローンしたりチェンジセットを取得したりすると、古いバージョンの大きなファイル( )は必要なくなり、 を現在のバージョンに更新するのに必要なものだけがダウンロードされます。これにより、ディスク容量と、 の帯域幅が節約されます。
その他の拡張機能もあります。ここにはさらに詳しい情報があります:Handling Large Files
これは大きなバイナリファイル用です。大規模なテキストファイルの場合は、diffを参照するのが有効な場合があります。 –
+1:largefilesの拡張はここで面白いです。必要のない大きなファイルのバージョンはダウンロードしないでください。したがって、リビジョン10からリビジョン50にプルアップして更新する場合は、リビジョン50の大きなファイルのみをダウンロードします。一方、Adamが指摘するように、デルタ圧縮は実行されませんので、*完全バージョンのそのファイルはリビジョン50で見えます。これは、10から50までのすべてのデルタをダウンロードするよりも少なくても終了する可能性があります。 –
拡張機能の便利な拡張機能は、rsyncのような方法を使ってアップデート大きなファイルの –
- 1. パスワードでsftpで転送するには? putコマンドでフルファイルを送信しない
- 2. アプリで転送を転送
- 3. POSTリクエストで転送されたファイルを転送する -
- 4. .rarから.zipにファイルを転送せずに転送する
- 5. 途中でファイル転送を再開するとファイル転送に失敗する
- 6. WCFサービスオブジェクトの転送が遅い。それは普通ですか?
- 7. FTP経由でHTTP転送ファイルを転送しますか?
- 8. 銀行プログラムの転送方法と引き出しメソッドのトラブル
- 9. ハプロキシ転送先転送
- 10. テストからのコモンズロギングメッセージを転送する
- 11. 転送先への転送先
- 12. USBコントロール転送は配送を保証しますか? (セクション5.4転送タイプ)転送
- 13. SSH転送とは何ですか?
- 14. WordPressドメインを転送する
- 15. ファイルを転送するシェルスクリプト
- 16. KeyPressイベントを転送する
- 17. EC2からECSリポジトリへのデータ転送はデータ転送であるか?
- 18. アプリの転送後もNSUserDefaultsは保持されますか?
- 19. 自分のアプリをデバイスからxcodeに転送する
- 20. ローカルとリポジトリの間の水銀差分を表示するにはどうすればよいですか?
- 21. 転送ドッカーGELFログをFilebeatでLogstashに転送する(または代替?)
- 22. テンプレートパラメータの定数を転送するには、転送参照を使用する必要がありますか?
- 23. 地域IPをグローバル転送IPに転送するにはどうすればよいですか?
- 24. 他のページに転送した後でもタイマーをカウントする
- 25. パケットフィルタリングと転送
- 26. &&の意味はいつも '転送参照'ですか?
- 27. 転送すると自動リダイレクトURLは
- 28. 転送のDataRow
- 29. セレントラックネットワークデータの転送
- 30. Delphi TidTCPServerとTidTCPClientレコードを転送する
ファイルテキストまたはバイナリですか? –
大きなバイナリファイル – HyderA