問題タブ [libgit2]

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.

0 投票する
1 に答える
987 参照

c - すべてのオブジェクト ID を取得する方法は?

libgit2 を使用して、git リポジトリ内のすべてのオブジェクト ID のリストを取得しようとしています。私はこれのための方法を見つけることができないようです。libgit2 には、すべてのオブジェクト ID を取得する (またはそれらを反復処理する) メソッドがありますか、それとも手動で読み取る必要がありますか?

0 投票する
3 に答える
5174 参照

git - libgit2 を使用して git リポジトリのクローンを作成できますか?

libgit2 を使用して git リポジトリの新しいクローンを作成する方法はありますか? libgit2 使用ガイド ( http://libgit2.github.com/api.html )、さまざまなサンプル ドキュメント ( http://schacon.github.com/libgit2-examples/ など)、および「リポジトリ」libgit2 api ドキュメントから(http://libgit2.github.com/libgit2/group__git__repository.html)およびその他の読み物...既存のgitリポジトリディレクトリを開くかgit_repository_open、新しいディレクトリを作成することへの参照のみが表示されますgit_repository_init

私が見逃している明らかなものはありますか?おそらく、「git clone GIT-REPO-URL」に相当する API のgit_repository_init後に ... が続きますか?

0 投票する
1 に答える
4380 参照

c# - DLL 'git2.dll' を読み込めません 指定されたモジュールが見つかりませんでした

Web プロジェクトでlibgit2sharpを使用しようとしています。問題は、libgit2sharp のソリューションが VS2010 用であり、私は VS2008 を使用していることです。そのため、新しいソリューションを作成し、既定のパラメーターを使用しないようにコードを変更する必要がありました。コンパイルされた libgit2sharp DLL を使用しようとすると、タイトルに記載されている例外が発生することを除いて、それは問題ではありませんでした。

git2.dll でリンクしようとしましたが、うまくいきませんでした。git2.dll を Web プロジェクトにコピーしても効果はありませんでした。

編集: この問題は、LibGit2Sharp の問題トラッカーで処理されました: https://github.com/libgit2/libgit2sharp/issues/39

0 投票する
4 に答える
3056 参照

git - Git より優れたデータベースはありますか (シリアル化可能で不変のバージョン管理されたツリーを使用)?

Git の背後にあるデータ構造を想像してみてください。これは、従来のポインターの代わりにハッシュ参照を使用することを除いて、コンフルーエントに永続的なデータ構造に似ています。

作業ツリーとインデックスのものがない場合を除いて、Git のデータ構造が必要です。そして、何百万ものブランチが存在し、それぞれが少数の他のローカル ブランチを追跡します。コミットとマージは、異なるスレッドで毎分数千回発生します。プルは毎秒発生します。

libgit2jgitの間で、 Git のデータ ストレージ サブシステムを使用できます。

しかし、仕事に適したツールを使用していますか? git の機能を備えた DB はありますか? メモリにキャッシュされた書き込みは非常に役立ちます。

タスク:

共同編集ゲーム。各プレイヤーには独自のブランチがあり、ゲームの世界に加えるすべての変更はそのバージョンにのみ適用されます。変更は、信頼できるユーザーによって「マスター」ブランチにマージされます。多くの場合、データとソース コードは結び付けられており、同じ分岐およびマージ機能が必要です。

0 投票する
1 に答える
789 参照

git - GitHubは、2つのブランチを自動マージできるかどうかをどのようにチェックしますか?

私はpygit2(pythonのlibgit2ラッパー)を使用し、マージコミットを作成する前に、つまり2つの親でコミットする前に、GitHubのようなドライランチェックを実行して、ブランチが実際に自動マージできることを確認したいと思います。

明らかなアプローチは、分岐点以降のすべてのコミットをループし、競合がないか行ごとにチェックすることです。しかし、私は(願っていますか?)もっと良いアプローチがあるかもしれないと思います。

0 投票する
2 に答える
720 参照

git - サブモジュールのステータスを取得する方法は?

libgit2sharp / libgit2 を git サブモジュールで動作させるのに問題があります。

リポジトリ内のフォルダーにサブモジュールとしてリンクされたいくつかのアイテムを含む git リポジトリがあります。Git と GitHub はそれらを正常に認識しますが、libgit2sharp / libgit2 を介してこれらのフォルダーのステータスを取得しようとすると、例外が発生します。「ファイル '[ファイル名]' のステータスを特定できませんでした。指定されたパスは、ファイルではなくフォルダーにつながっています」と表示されます

libgit2 はサブモジュール フォルダーのステータスを提供する必要がありますか? 彼らはステータスを持っていますか?現時点では、これらのアイテムの状態のクエリをスキップしているだけですが、正しくないと感じています。

ご協力いただきありがとうございます。

0 投票する
3 に答える
4843 参照

git - ファイルの履歴を取得するにはどうすればよいですか?

私は別のlibgit2の問題を抱えており、あなたの助けに非常に感謝します。

ファイル履歴、つまりこのファイルが変更されたコミットのリストを取得しようとしています。そして、それはかなり型破りなようです...私が見る限り、そのための機能はありません。

私が思いつく唯一のアプローチは、リビジョンウォーキングAPIを使用してリビジョンを反復処理し、commitにアタッチされたツリーオブジェクトを確認し、そこで指定されたファイルを検索し、見つかった場合はリストにcommitを追加し、それ以外の場合は次のcommitに進みます。

しかし、それは私には最適ではないように見えます...

他のアプローチはありますか?たとえば、.gitフォルダーを直接調べて、そこで必要な情報を取得しますか?

よろしくお願いします!

0 投票する
1 に答える
7179 参照

c# - Gitリポジトリの内部形式の説明

Gitがファイルをリポジトリに保存する方法に関するドキュメントはありますか?インターネットで検索しようとしていますが、使用できる結果がありません。間違ったクエリを使用しているのかもしれませんし、これは大きな秘密かもしれません— Gitリポジトリの内部形式ですか?

このロケット科学情報が必要な理由を説明しましょう。C#を使用してファイル履歴フォームリポジトリを取得しています。しかし、libgit2sharpライブラリでは現在実装されていません。ですから(責任者として;)私はこの機能を自分で実装し、コミュニティに貢献する必要があります。

しかし、カーネルソースをgithubに移動した後、どこから検索を開始するのかさえわかりません。

よろしくお願いします!

0 投票する
1 に答える
760 参照

c - 「git log -1 fullpath/myfile」を libgit2 で

git log -1 fullpath/myfilelibgit2で実装したい。私はlibgit2にかなり慣れていません。私は正しい軌道に乗っていますか?これは私がこれまでに持っているものです:

残念ながらgit_tree_entry_byname、リポジトリのサブディレクトリにあるファイルでは機能しないようです。何か案が?

ありがとう、ラース

0 投票する
1 に答える
3725 参照

git - libgit2でgitリポジトリを複製/フェッチする方法は?

gitリポジトリを初期化し、ブランチの最新バージョンをそこにフェッチする必要があります。bashでは、コマンドは次のとおりです。

libgit2で同じことをプログラムで実行しようとしていますが、2行目に相当するものを見つけるのに問題があります。リモートを作成するための呼び出しは明らかですが、リポジトリに追加したり、ブランチを処理したりするための呼び出しは見当たりません。

libgit2でこれを行うことは可能ですか?そうでない場合、これを実行できるライブラリはありますか?