Pregunta

The code below clone a Git url to a test directory.

var url = @"http://abc-555.com/team/project-555.git";
var path = @"E:\temp_555";

var credential =  new Credentials() { Username = "a8888", Password="88888888"};
var clonePath = Repository.Clone(url, path, credentials: credential);

using (var repo = new Repository(clonePath))
{
    foreach (var branch in repo.Branches)
    {
        Console.WriteLine(branch.Name);
    }

    // somebody creates a new branch here, so I want to fetch it.
    repo.Fetch("origin");

    foreach (var branch in repo.Branches)
    {
        Console.WriteLine(branch.Name);
    }
}

I want to fetch a new branch before merging it to local Git. Anyway, it throws An error was raised by libgit2. Category = Net (Error). Request failed with status code: 401 exception.

How to fix this?

¿Fue útil?

Solución

You can specifiy the credentials to be used through a FetchOptions instance as the last parameter of the Fetch call.

repo.Fetch("origin", new FetchOptions { Credentials = credential});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top