Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unexpected EOF when trying to fetch from remote #2080

Open
zerouid opened this issue Feb 26, 2024 · 0 comments
Open

unexpected EOF when trying to fetch from remote #2080

zerouid opened this issue Feb 26, 2024 · 0 comments

Comments

@zerouid
Copy link

zerouid commented Feb 26, 2024

I'm having an issue with a remote repo hosted on a BitBucket v7.21.4. The clone command works just fine, but when I try to fetch a particular branch if fails with LibGit2Sharp.LibGit2SharpException: unexpected EOF.
The issue is constantly reproducible.

Reproduction steps

Example code:

        using var repo = new Repository(repositoryPath);
        var fetchOpts = new FetchOptions();
        fetchOpts.CertificateCheck = (_,_,_) => true;
        fetchOpts.CredentialsProvider = (_, _, _) => new UsernamePasswordCredentials() { Username = remoteUser, Password = remotePassword };
        fetchOpts.Prune = true;
        fetchOpts.TagFetchMode = TagFetchMode.None;
        var remote = repo.Network.Remotes["origin"];
        Commands.Fetch(repo, remote.Name, [$"+refs/heads/{remoteBranch}:refs/remotes/{remote.Name}/{remoteBranch}"], fetchOpts, null);

Expected behavior

Fetch to complete successfully.

Actual behavior

Unhandled exception. LibGit2Sharp.LibGit2SharpException: unexpected EOF

Below is the trace:

Debug: Sending POST request to https://<repourl>/scm/<proj>/<repo>.git/git-upload-pack
Trace: Sending request:
POST /scm/<proj>/<repo>.git/git-upload-pack HTTP/1.1
User-Agent: git/2.0 (libgit2 1.7.1)
Host: <host>
Accept: application/x-git-upload-pack-result
Content-Type: application/x-git-upload-pack-request
Content-Length: 1124
Authorization: Basic <auth>


Trace: Sending request:
0074want 3edd78a0fa98c3c2361088051ef762b8ae617a7c multi_ack_detailed side-band-64k include-tag thin-pack ofs-delta 
00000032have 6bb975022c21ceb358e9686ec47f62f0df5ab76b
0032have 19339ffb0a1a4a31c1ed445155ff5a0819a90404
...
0032have 4fcfbe8283ab4d7df213d4aad49213e078579dd5
0000
Trace: Received:

Unhandled exception. LibGit2Sharp.LibGit2SharpException: unexpected EOF

Below is the the trace from the OS git client fetch from the same remote which works just fine:

$git fetch origin master
...
12:39:35.668070 pkt-line.c:80           packet:        fetch> command=fetch
12:39:35.668091 pkt-line.c:80           packet:        fetch> agent=git/2.39.2
12:39:35.668095 pkt-line.c:80           packet:        fetch> 0001
12:39:35.668098 pkt-line.c:80           packet:        fetch> thin-pack
12:39:35.668102 pkt-line.c:80           packet:        fetch> ofs-delta
12:39:35.668108 pkt-line.c:80           packet:        fetch> want 3edd78a0fa98c3c2361088051ef762b8ae617a7c
12:39:35.668119 pkt-line.c:80           packet:        fetch> have 6bb975022c21ceb358e9686ec47f62f0df5ab76b
...
12:39:35.668678 pkt-line.c:80           packet:        fetch> have 7bb74cc0c823352f64704ffcf72a1449d7fa355d
12:39:35.668683 pkt-line.c:80           packet:        fetch> 0000

I noticed that it sends only thin-pack and ofs-delta arguments as opposed to multi_ack_detailed side-band-64k include-tag thin-pack ofs-delta from libgit2sharp.
Is there a way to control this behavior with code?

Version of LibGit2Sharp (release number or SHA1)

Libgit2sharp v0.29.0

Operating system(s) tested; .NET runtime tested

.NET SDK:
Version: 8.0.101
Commit: 6eceda187b
Workload version: 8.0.100-manifests.69afb982

Runtime Environment:
OS Name: Mac OS X
OS Version: 14.3
OS Platform: Darwin
RID: osx-x64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant