libgit2 / libgit2/libgit2sharp

Stashes.Add taking forever to complete

Offen
#1,715 1 Kommentar 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 have a local Git repository that is 1.5 Gigs in size.... 34 579 source files in it. It takes overs 2 minutes (135 551 ms) to complete a "stash add", for only 1 modified file in the repo.... which is not acceptable.

Git-scm does it in approximately 2 seconds.

Reproduction steps
Expected behavior
Actual behavior
Version of LibGit2Sharp (release number or SHA1)

I was using the Libgit2Sharp NuGet package version 0.26.1... I have tried 0.26.0.... same results. Then, I have tried with 0.25.4... it worked in less than 2 seconds. Something broke in version 0.26.x

Operating system(s) tested; .NET runtime tested

It is in a Visual Studio Profesionnal 2017 C# project, under Windows 10 64 bits. Framework 4.6.1.

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 damit, das gemeldete Timing von stash-add mit den LibGit2Sharp-Paketen 0.26.x und 0.25.4 im beschriebenen großen Repository zu reproduzieren, und vergleiche anschließend das Verhalten mit Git. Identifiziere die Regression in 0.26.x und verifiziere, dass stash add ungefähr in der früheren oder einer Git-ähnlichen Zeitspanne abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, git
Bereich
performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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