問題タブ [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.
git - 頑丈な2つのコミットを比較する
頑丈な2つのファイルの違いを取得するためのドキュメントは見つかりませんでした。以下のコードを使用して、ruggedを使用してファイルをコミットしました
頑丈な同じオブジェクトの2つのコミットの違いをどのように確認できますか?
libgit2 - libgit2sharp フェッチの失敗
私は概念実証にlibgit2sharpを使用して、一部のファイルのフェッチ、変更、コミット、およびリモートオリジンへのプッシュを自動化しています。
プッシュがまだ完了していないことはわかっていますが、フェッチは vnext にありますが、呼び出すと:
libgit2 によってエラーが発生しました。カテゴリ = Os (エラー)。ホストに接続できませんでした
これが私のコードです:
その他の詳細:
- 私のリモートは、https を使用してホストされているプライベート bitbucket です。(次のようになります: https://myusername@bitbucket.org/myRepoOwner/repoName.git )
- コマンドラインからフェッチしてプッシュできるので、リポジトリは機能しています。
- repo.Fetch("origin"); を使用すると、同じ問題が発生します。
libgit2 - kernel32.dll の GetProcAddress を使用する libgit2 メソッドが常に 0 を返すのはなぜですか?
C#git2.dll
で使用する代わりに、実際の のロード/アンロードを手動で処理する必要があります。に格納されているメソッドのアドレスへの参照用の[DllImport("git2")]
作成に問題があるようです。IntPtr
libgit2
PluginManager
これは、ライブラリの手動ロード、マーシャリング/デリゲート (このキンクを修正したときはいつでも)、およびアンロードを容易にするのに役立つと思われる、私のクラスの良い部分です。
ここで私はそれらを使用しようとしています:
ライブラリはこのタイプの読み込みにさらされていませんか? LibGit2Sharp
ネイティブ フックに存在するすべての種類のメソッドを試しましたが、常にゼロが返されます。
libgit2 - git log に相当する libgit2
libgit2を使用して、次のことと同等のことをしようとしています:
1) すべての参照を revwalker にプッシュする最も簡単な方法を見つけ、2) 同じ順序で結果を取得することに問題があります。トポロジカルソートと時間ソートのさまざまな組み合わせを試してみましたが、古いブランチが上部近くに表示され続けています。
私の最近の試みには の呼び出しgit_revwalk_push_glob(walk, "refs/*")
が含まれていましたが、すべてのブランチが出てきたわけではありません。1 つのテスト リポジトリには 2 つのローカル ブランチがあり、1 つ (現在のブランチ) がありませんでした。
私は実際に客観的な git でこれを行っていますが、GTEnumerator インターフェイスは少し制限されているため、拡張する必要があります。
更新:私は手動で refs/heads、refs/remotes、および refs/tags をプッシュしました (実際にはトップ以上のものを必要とするため、すべての stash も同様です)。順序の問題は残ります。
git - LibGit2(Sharp)を使用してGitリポジトリのバージョンツリーを構築するにはどうすればよいですか?
いくつかの背景:
Gitをデータストレージレイヤーとして使用する可能性を検討しています。基本的に、アプリケーションの状態を記述するいくつかのXMLファイルのすべてのバージョンを保持する必要があります。ユーザーは、以前の状態に戻したり、以前の状態から分岐したりできるようにするために「Time Machine」が必要です。これはサービスレイヤーの背後に隠されますが、私はバックエンドでGitを使用することを検討しています。
時間の経過に伴うアプリケーションの状態の変化を提示する必要があるため、変更やブランチなどを示すネットワーク図を作成したいと思います。
これを行うには、バージョンツリーを視覚的に作成する必要があります。基本的に、私はこれをしたいです:
私はLibGit2Sharpを使用しています。APIをざっと見てみましたが、すぐに役立つものは何も見つかりません。私もGitをよく知っていますが、それは役に立ちません。
libgit2 - libgit2はSSH-Transport-Protocolをサポートしていますか?
ssh-keysを使用してssh経由でリポジトリのクローンを作成することは可能ですか?
c++ - libgit2 で git リポジトリを初期化する方法
Windows XP の 32 ビット マシンで、次を使用して libgit2 リポジトリのクローンを作成しました。
次に、次を使用してmingwのtrunk_build_debugから構成しました。
そして、それを構築しました
この新しくビルドされたライブラリを使用して、新しいリポジトリを作成しようとしています。だから私は使用しています
最初の試行では、これはエラー メッセージで失敗します。
Git エラー -1: グローバル ファイル '.config/git/config' が存在しません: 指定されたファイルが見つかりません。
.git ディレクトリが作成され、これを使用git status
してクエリを実行できます。また、Program Files/git に git をインストールしましたが、問題なく動作します。言及されているファイルはユーザー ディレクトリに存在しません。これは事実です。返されたエラー コードを確認できないため、満足できません (エラーは「本物」である可能性があります)。
そのため、D:\Documents and Settings\User Name.config\git\config に空のファイルを作成しました。.git ディレクトリが再度作成されますが、同じ -1 エラー コードが表示されます。今度は giterr_last() が NULL を返します。
デバッガーでコードをトレースすると、ライブラリが空のファイルに満足していないことがわかります。
しかし、これは私が何か間違ったことをしていることを示していると思います。初期化方法はありますか?ファイルを作成し、git_config_ 関数を使用してライブラリをポイントする必要がありますか?
ところで、これを尋ねるのは間違った場所ですか?この質問をする専用のフォーラムはありますか?
ありがとう
呼び出しが失敗したバック トレースは次のとおりです: pastebin .git ディレクトリ内の構成ファイルを解析できないようです (トレースに表示されていないのは、失敗した 'config_parse()' です)。
libgit2で問題をオープンしました。
c - libgit2 で「git pull」を実装していますか?
コマンドの機能をエミュレートするために使用することになっている比較的短い Gistがあります。残念ながら、それはまったく機能していません。libgit2
git pull
要約すると、スニペット:
git_repository_open()
ディスク上のリポジトリを開く呼び出し- 「origin」という名前のリモート
git_remote_load()
を取得するための呼び出しgit_remote *
- フラグ
git_remote_connect()
を使用して呼び出しますGIT_DIRECTION_FETCH
git_remote_download()
リモートからオブジェクトを取得するための呼び出し
によるとgit_remote_stats()
、オブジェクトは実際にフェッチされています。ただし、作業ディレクトリは最新のコミットを反映して変更されません。追加してみました:
...しかし、それは違いはありませんでした。
入力:
...ターミナルで次の出力が得られます。
どうすれば早送りできますか?
head - libgit2でリモートHEADを取得しますか?
git_reference *
特定のリモートのHEADに到達する方法がわからないようです。
私が持っている:
アプリケーションの実行時にエラーメッセージが表示され、参照が見つからなかったことを示します。ただし、リモートHEADは実際に存在します。
git_reference *
リモートHEADに取得できないのはなぜですか?
c# - LibGit2Sharpがgit2.dllを見つけられません
作業中のWebサイトを管理する小さなwpfアプリを作成しました。このアプリの主な機能は、テーマリポジトリのさまざまなブランチをチェックアウトできることです。これはVisualStudioで完全に機能しますが、Windows 8マシンでアプリを公開、インストール、実行すると、次のようになります。
私はインターネットとstackoverflowを検索しました。DLL'git2.dll'を読み込めませんなどの同様の質問があります。指定されたモジュールは見つかりませんでしたが、提供された回答(および回答で説明されているgithubの問題に示されている回答)は別のエラーを引き起こします。
コンパイルされたdllを含む最新のnugetをインストールし、ソリューションにlibgit2sharpプロジェクトを含むgit2.dllを追加してみました。繰り返しになりますが、Visual Studioですべて実行すると完全に機能しますが、公開、インストール、実行すると失敗します。
どのような情報を含める必要があるのかわからなかったので、質問を更新できるように、コメントしてお知らせください。
ありがとうございました!