libgit2 / libgit2/libgit2sharp

"invalid version 0 on git_proxy_options" thrown when natives are built from source

オープン
#2,161 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
C#
スター
3.5k
フォーク
925
PR マージ指標
30日以内にマージされた PR はありません

説明

Hi, I'm currently trying to make a custom build that uses libssh2 instead of exec for SSH, since I don't want OpenSSH windows to spawn as my program makes requests. I changed this flag, then followed through the rest of the compilation steps both for native binaries and lg2s.

I then tried pulling, not on a proxy, using this code:

var fOptions = new FetchOptions ();
fOptions.Prune = UpdaterMod.settings.pruneOld;

var mOptions = new MergeOptions ();
mOptions.CommitOnSuccess = true;
mOptions.FileConflictStrategy = UpdaterMod.settings.onFileConflict;

var sig = new Signature (new Identity (modName, email), DateTimeOffset.Now);

try {
    string logHolder = "";
    Commands.Fetch (repo, remote.Name, refSpecs, fOptions, logHolder);

    if (logHolder.Length > 0)
        LogMsg (logHolder, LogMode.Warn);
}
catch (Exception e) {
    LogMsg ($"Could not fetch data from remote repo: {e.Message}", LogMode.Error);
    return;
}

Expected behavior

The program should attempt to pull without trying to use a proxy.

Actual behavior

The caught exception contains the message in the title.

System information

Windows 10 10.0.19045

AMD Ryzen 5 3600

Other useful information

This issue persists when the flag is switched back to exec

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

報告された Windows ビルドで FetchOptions を指定した Commands.Fetch 呼び出しから始め、ネイティブビルドがプロキシオプションとバージョン検証をどのように処理するかを追跡します。custom と exec の設定で fetch を再現します。プロキシなしの fetch で、報告された無効なバージョンの例外が発生しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
csharp, git
領域
tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。