私はGitリポジトリからデータを複製するためにLibGit2Sharpを使用するアプリケーションに取り組んでいます。私は、LibGit2Sharpがクローンが完了した(成功したかどうか)後にSHA-1のようなデータ完全性検査を行うかどうかを知り、データが欠けているか改ざんされていないことを確認したい。LibGit2Sharpは、リポジトリからクローンされているデータが、私たちが最後に受け取ったものと同じであることを保証しますか?
-2
A
答えて
0
これはlibgt2sharp langaugeバインディングの機能ではなく、下位のlibgit2の機能です。
今、実際には、それは関与する輸送のビジネスです。
私が言う限り、いいえ、彼らはそれをしません。私のようにソースコード(https://github.com/libgit2/libgit2/blob/cc5966b071b37c38736ce8ad526e612d0703b523/src/transports/smart_protocol.c)を自由に閲覧することができます。
0
Gitは、リポジトリ間でオブジェクトを転送するためにパックファイルを使用します。これらのパックファイルの各オブジェクトにはCRC32チェックサムがあり、パックファイル自体にはSHA-1チェックサムトレーラがあります。
これらのチェックサムの両方が、受信したデータと照合されます。これには、ハッシュを使用してリモートを信頼するのではなく、受信したデータに基づいてオブジェクトの名前を計算することが含まれます。
しかし、これはlibgit2sharpまたはlibgit2に関するものではありません。これがGitシステムの仕組みです。データフォーマットに関する情報は、その技術文書で見つけることができます。
関連する問題
- 1. context.startService()呼び出しは、送信されたのと同じ順序でサービスによって取得されることが保証されていますか?
- 2. 同じメジャーバージョン内のアップグレードがデバイスと互換性があることが保証されていますか?
- 3. ちょっと!私はインターネットから受け取ったExternalStoragePublicファイルに保存したいと思いますが、私は本当に立ち往生しました。コードを教えてもらえますか?
- 4. LinqToSqlのサブクエリは、親と同じ順序であることが保証されていますか?
- 5. アプリがアプリストアから削除された後に通知を受け取ることはできますか?
- 6. リストを受け取った後に「と」と「か」の結果が得られるのはなぜですか?
- 7. 私はgitリポジトリをクローンした場所をどこから知ることができますか
- 8. LibGit2Sharpは、ローカルリポジトリがリモートリポジトリの背後にあることを、ローカルリポジトリがLibGit2Sharpへのリモート
- 9. 私はfirebaseデータベースからデータを受け取ることができません
- 10. テーブル値パラメータのソート順は同じであることが保証されていますか?
- 11. プッシュ通知を受け取ることをアプリが拒否した場合でも、プッシュサーバーからトークンを受け取ることはできますか?
- 12. 磨耗からデータを受け取った後に.wavが空になる
- 13. 同じユーティリティスクリプトが異なるSCMディレクトリにチェックインされているにもかかわらず、どこでも同じである必要がある場合、それらが同じであることをどのように確認できますか?
- 14. サブモジュールコミットがリポジトリと同じであることを確認してください
- 15. アセンブリ8086は、私がこれとまったく同じ質問がある
- 16. Datepicker、サーバーからリクエストを受け取った後にデータマスクがロードされない
- 17. 私はexchangelibですべてのフォルダから最新のメールを受け取ることができますか?
- 18. あなたはメッセージアプリケーションで受け取っているあなたのアプリケーションに同じメッセージを得ることは可能ですか?
- 19. マルチタスクアプリは、アプリがバックグラウンドであってもデバイスが画面のロックを解除したときに通知を受け取ることができますか?
- 20. Pythonでは、インポートしたものと同じ名前の関数があるとどうなりますか?どちらが実行されますか?
- 21. xml2jsは同期していることが保証されていますか?エラーが発生しますか?
- 22. iword()とpword()は同じインデックスであることが保証されています。
- 23. Facebookで認証されたユーザーから電子メールを受け取ることができません
- 24. BIND_LISTENERが廃止された後にデータを受け取ることができません
- 25. Qt:QStyledItemDelegateによって作成されたテキストエディットは、エスケープキープレスイベントを受け取ることができませんか?
- 26. これらのコードはどちらも同じことでしょうか?
- 27. 私たちはtotalcountとpostgresqlから最後のレコードを得ることができます
- 28. Argsはnull以外であることが保証されていますか?
- 29. boolは1バイトであることが保証されていますか?
- 30. 私は、指定されたURLからクエリパラメータの値を求めています。このコードを1行で減らすことはできますか?それとも同じことをするための他の良い方法がありますか?
実際、私はlibgit2sharpとgit bashが提供するGitクローンを比較しようとしました。ファイル数とフォルダ数が同じではありません(明らかにディスク上のサイズも同じです)。 あなたが私に送ったこのリンクを調べました。送信されたパケットと受信されたパケットを確認していますが、SHAチェックは行っていませんでしたか? –