libgit2 / libgit2/libgit2sharp

Getting exception "too many redirects or authentication replays"

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

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

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

説明

I am trying to pull from a github repository with the following code getting an exception "too many redirects or authentication replays". Why? If I failed to login, I expect an exception telling me that. Also the exception suggests that it retried whatever it did a couple of times although "replay" needs clarification. Where do I configure the number of retries if any? I have no interest in trying more than once. I have checked the credentials many times and also I tried to pull from an azure devops repo with the same result.

public void dothepulling()
{
  string repoPath = "C:\\project\\test.git";

  using (var repo = new Repository(repoPath))
  {

    var FetchOptions = new FetchOptions
    {
      CredentialsProvider = func
    };

    var pullOptions = new PullOptions
    {
      MergeOptions = new MergeOptions
      {
        FastForwardStrategy = FastForwardStrategy.FastForwardOnly,
        FileConflictStrategy = CheckoutFileConflictStrategy.Theirs,
        IgnoreWhitespaceChange = false
      },
      FetchOptions = FetchOptions
    };

    var signature = new Signature(new Identity("Firstname Lastname", 
      "my.email.@address.com"), DateTimeOffset.Now);

    Commands.Pull(repo, signature, pullOptions);
  }
}

private UsernamePasswordCredentials func(string url, string user,
  SupportedCredentialTypes types)
{
  return new UsernamePasswordCredentials
  {
    Username = "username",
    Password = "password"
  };
}

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

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

はじめの一歩

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

調査の方向性

提供された Commands.Pull の呼び出し、その PullOptions.FetchOptions、および CredentialsProvider コールバックから始め、示されているコードを使って GitHub または Azure DevOps に対する例外を再現します。結果として生じる認証または replay の動作を追跡し、メッセージ、retry の設定、またはログイン失敗時の処理について明確化が必要かどうかを確認します。その後、関連するテストの場所が見つかった場合は、焦点を絞ったテストで期待される動作を検証します。

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

評価

技術スタック
csharp, git
領域
devtools
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

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

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