libgit2 / libgit2/libgit2sharp

Exception when pushing to remote

Offen
#824 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
3.5k
Forks
925
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I am getting the following exception when pushing to a running git daemon (with receive-pack enabled). the exception only occurs when the daemon is running on a separate machine, not when I run the deamon on the same machine as I am pushing to.

LibGit2Sharp.LibGit2SharpException: Error receiving socket data: An existing connection was forcibly closed by the remote host.

at LibGit2Sharp.Core.Ensure.HandleError(Int32 result)
at LibGit2Sharp.Core.Proxy.git_push_finish(PushSafeHandle push)
at LibGit2Sharp.Network.Push(Remote remote, IEnumerable1 pushRefSpecs, PushOptions pushOptions, Signature signature, String logMessage) at LibGit2Sharp.Network.Push(Remote remote, String pushRefSpec, PushOptions pushOptions, Signature signature, String logMessage) at LibGit2Sharp.NetworkExtensions.Push(Network network, IEnumerable1 branches, PushOptions pushOptions)

the git daemon is run using this command: git daemon --base-path=. --enable=receive-pack --export-all --verbose

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne bei Network.Push und dem im Stack-Trace gezeigten Aufruf von git_push_finish. Reproduziere den Push gegen eine separate Maschine mit dem bereitgestellten git daemon-Befehl, vergleiche ihn mit einem Push auf derselben Maschine und verfolge, an welcher Stelle die Gegenstelle die Verbindung schließt. Die Aufgabe ist abgeschlossen, wenn der Push zur Gegenstelle diese Exception nicht mehr auslöst und die unterschiedlichen Umgebungen durch einen Regressionstest abgedeckt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, git
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.