問題タブ [libgit2sharp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - DLL 'git2.dll' を読み込めません 指定されたモジュールが見つかりませんでした
Web プロジェクトでlibgit2sharpを使用しようとしています。問題は、libgit2sharp のソリューションが VS2010 用であり、私は VS2008 を使用していることです。そのため、新しいソリューションを作成し、既定のパラメーターを使用しないようにコードを変更する必要がありました。コンパイルされた libgit2sharp DLL を使用しようとすると、タイトルに記載されている例外が発生することを除いて、それは問題ではありませんでした。
git2.dll でリンクしようとしましたが、うまくいきませんでした。git2.dll を Web プロジェクトにコピーしても効果はありませんでした。
編集: この問題は、LibGit2Sharp の問題トラッカーで処理されました: https://github.com/libgit2/libgit2sharp/issues/39
git - サブモジュールのステータスを取得する方法は?
libgit2sharp / libgit2 を git サブモジュールで動作させるのに問題があります。
リポジトリ内のフォルダーにサブモジュールとしてリンクされたいくつかのアイテムを含む git リポジトリがあります。Git と GitHub はそれらを正常に認識しますが、libgit2sharp / libgit2 を介してこれらのフォルダーのステータスを取得しようとすると、例外が発生します。「ファイル '[ファイル名]' のステータスを特定できませんでした。指定されたパスは、ファイルではなくフォルダーにつながっています」と表示されます。
libgit2 はサブモジュール フォルダーのステータスを提供する必要がありますか? 彼らはステータスを持っていますか?現時点では、これらのアイテムの状態のクエリをスキップしているだけですが、正しくないと感じています。
ご協力いただきありがとうございます。
git - ファイルの履歴を取得するにはどうすればよいですか?
私は別のlibgit2の問題を抱えており、あなたの助けに非常に感謝します。
ファイル履歴、つまりこのファイルが変更されたコミットのリストを取得しようとしています。そして、それはかなり型破りなようです...私が見る限り、そのための機能はありません。
私が思いつく唯一のアプローチは、リビジョンウォーキングAPIを使用してリビジョンを反復処理し、commitにアタッチされたツリーオブジェクトを確認し、そこで指定されたファイルを検索し、見つかった場合はリストにcommitを追加し、それ以外の場合は次のcommitに進みます。
しかし、それは私には最適ではないように見えます...
他のアプローチはありますか?たとえば、.gitフォルダーを直接調べて、そこで必要な情報を取得しますか?
よろしくお願いします!
asp.net-mvc - クローン作成およびプッシュ時に GIT が使用する HTTP プロトコルは何ですか?
ASP.MVC を使用したクローンやプッシュなどの基本的な GIT コマンドに対応する LibGit2Sharp ライブラリを使用しようとしていますが、それに応じて応答するようにコントローラーを設定する方法がわかりません。
プッシュの複製時に、GIT は HTTP GET および POST 要求を開始しますか? そして、私のコントローラーは次のように設定する必要があります
ありがとう
c# - Gitリポジトリの内部形式の説明
Gitがファイルをリポジトリに保存する方法に関するドキュメントはありますか?インターネットで検索しようとしていますが、使用できる結果がありません。間違ったクエリを使用しているのかもしれませんし、これは大きな秘密かもしれません— Gitリポジトリの内部形式ですか?
このロケット科学情報が必要な理由を説明しましょう。C#を使用してファイル履歴フォームリポジトリを取得しています。しかし、libgit2sharp
ライブラリでは現在実装されていません。ですから(責任者として;)私はこの機能を自分で実装し、コミュニティに貢献する必要があります。
しかし、カーネルソースをgithubに移動した後、どこから検索を開始するのかさえわかりません。
よろしくお願いします!
c# - LibGit2Sharpを使用してGitリポジトリからファイルバイナリデータを取得するにはどうすればよいですか?
GitSharpがアクティブに維持されなくなったため、プロジェクトをGitSharpの使用からLibGit2Sharpに移行することにしました。GitSharpを使用すると、ブランチを指定してリポジトリにチェックインされたファイルのrawバイトにアクセスできました。LibGit2Sharpを使用してこれを行う方法のドキュメントやサンプルコードが見つかりません。
誰かが私とこれがどのように行われるかの例を教えてもらえますか?
c# - TreeEntry をコミットの Tree コレクションに追加するにはどうすればよいですか?
裸のリポジトリがあり、そこにファイルを追加、編集、および削除したい場合、LibGit2Sharp を使用してこれを行うにはどうすればよいですか?
各コミットには、TreeEntry オブジェクトを含む Tree オブジェクトがあることがわかります。これらの TreeEntry を追加、編集、削除することはできますか? もしそうなら、インデックスは、これらの変更が保留中であり、ステージングする必要があることを反映していますか?
ありがとう!
git - libgit2sharp を使用してコミットとその親の間の変更を取得する
私は libgit2sharp (libgit2 の C# ラッパー) を使用していますが、私が望んでいる機能があまりないため、問題が発生しています (すぐに貢献できるといいのですが、これは本当に便利なプロジェクトのようです)。
私が今やろうとしているのは、特定のコミットとその親から変更されたファイルのリストを取得することです。マージとその 2 つの親の間で何が変わったのかを理解しようとはしません。私は通常のコミットにもっと興味があります。
これらの人 (https://github.com/libgit2/libgit2sharp/issues/89) は、似たようなことに取り組んでいます。彼らの手順は健全な考えだと思いますが、GITの内部構造の理解が少し苦手です(GITのエンドユーザー向けガイドにはたくさんのガイドがありますが、内部構造についてはあまりありません)
GIT自体が「git diff」コマンドをどのように実行するのか興味があります。おそらく、GIT は実際にはデルタを保存するのではなく、ファイルの完全なバージョンを保存します (変更されていない場合は、既存の SHA を指すだけです。この情報は、ここhttp://xentac.net/2012/01などのさまざまなソースから見つけることができます)。 /19/the-real-difference-between-git-and-mercurial.html )。これにより、データがコミットの一部として保存されていないため、2 つのコミット (私の場合は特定のコミットとその単一の親) 間の変更を取得するのが難しくなっているようです (これは、libgit2sharp の Commit.cs の Commit クラスを調べれば明らかです)。ファイル)。
コミットからアクセスできるのはツリーです。この情報を見つけるために次のことを行うのは理にかなっていますか?
1) 目的のコミットから開始し、ツリーをたどって、すべての SHA 値をセットに保存します。
2) 目的のコミットの親から開始し、そのツリーをたどって、すべての BLOB SHA 値を別のセットに保存します。
3) 変更されたファイルの SHA は、2 つのセットの共通部分にないファイルになります。
このアプローチで見られる問題は、BLOB の SHA 値からファイル名を取得する方法がないように見えることです (libgit2sharp の Blob.cs ファイルでこれを実行できるものは何もありません)。
この質問には多くの側面があることは知っていますが、それらは git から特定のデータを取得するという大きな目標の一部です。
ありがとう。
c# - コミットが属するブランチをLibGit2Sharpで見つけますか?
私はコミットをループしていLibGit2Sharp
ます:
Author
およびのようなプロパティを取得できますMessage
が、それがどのブランチに属しているかについては何も表示されません。理想的には、ブランチオブジェクトへのポインタが必要ですが、このシナリオでは名前でも問題ありません。
これは、デバッガーが表示するものです。
これは私が探しているものです:
最も関連性の高いブランチ名を表示するTortoiseGitの動作:
リポジトリの例:https ://docs.google.com/open?id = 0B-3-X85VysdNcmZIaGVTSDZSenVGbTJxYlI2SUlsZw
git - libgit2を使用してファイルの一部をGitインデックスに追加することは可能ですか?
libgit2、実際にはlibgit2sharpを使用していますがadd -p
、CLIの場合と同様にファイルの一部を追加する方法はありますか?
ドキュメントから何も見つかりません:http://libgit2.github.com/libgit2/#HEAD/group/index