libgit2 / libgit2/libgit2sharp
Getting exception "too many redirects or authentication replays"
还没有人认领这个 Issue。
- 主要语言
- 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"
};
}
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从提供的 Commands.Pull 调用、其 PullOptions.FetchOptions 以及 CredentialsProvider 回调开始;使用所示代码在 GitHub 或 Azure DevOps 上复现该异常。跟踪由此产生的身份验证或 replay 行为,并确定是否需要澄清消息、重试配置或登录失败处理,然后在找到相关测试位置的情况下,通过一个有针对性的测试验证预期行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- csharp, git
- 领域
- devtools
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100