0

私は Git の単純な PHP 読み取り専用実装に取り​​組んでおり、ほとんど動作していますが、Git パック インデックス ファイル (バージョン 2) の正確な形式がわかりません。私がこれまでに見つけたすべてのドキュメントはあいまいで、Git 自体で解釈することにのみ焦点を合わせているか、私の理解ではかなり異なるバージョン 1 にのみ適用されます。PHP 用の既存の Git 実装を使用することはオプションではありません (私はいくつか試してみましたが、それらで問題が発生し続けています)。

基本的に、v2 パック インデックス ファイルの形式に関するシンプルで一般的なドキュメントが必要です。PHP 固有のものは何もありません。これはどこで見つけることができますか?

4

3 に答える 3

2

誰もがgitpackfile形式の最も信頼のおけるドキュメントとして以下のリンク#1を提供しているようです。私はそれがかなりまばらであることに気づきました、そして私はそれをあまりよく理解していませんでした。かなりの掘り下げが必要でしたが、最終的にリンク#2を見つけました。それははるかに包括的で理解しやすいものでした。リンク#1のドキュメントを使用してフォーマットを実装する方法がわかりません。リンク#2でできると思います。

あなたが成功することを願っています。現在存在するものよりも完全なpure-phpgitの実装があるとよいでしょう。

  1. http://git.kernel.org/?p=git​​/git.git;a=blob;f=Documentation/technical/pack-format.txt;h=1803e64e465fa4f8f0fe520fc0fd95d0c9def5bd;hb=HEAD

  2. http://home.cofares.net/GIT/book/7_the_packfile.html

于 2012-10-11T21:47:47.670 に答える
2

Git ソースに含まれるドキュメントには、v1 および v2 のパックファイル形式についてかなり完全な説明があるようです。

もちろん、Python の dulwich やCのlibgit2など、この形式を理解するさまざまなソフトウェア実装があります。技術文書が不明確な場合は、これらを調べることで理解が深まる可能性があります。

于 2012-05-06T00:45:29.293 に答える
0

Git の packfile 形式は扱いが特に簡単ではありません。おそらく、直接読み取るよりも libgit2 を介して操作する方がはるかに簡単です。php-libgit2を確認してください。

于 2012-05-06T00:48:22.490 に答える