Diff compare with DiffTargets.WorkingDirectory is terribly slow
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- csharp, git
- Domaine
- backend-api-design, performance
Piste de recherche
Reproduire le ralentissement avec repository.Diff.Compare(repository.Head.Tip.Tree, DiffTargets.WorkingDirectory) sur un dépôt relativement volumineux, puis le comparer avec la surcharge commit-to-commit et repository.RetrieveStatus(). Suivre le chemin de comparaison du répertoire de travail et mesurer où le temps est dépensé. Le travail est considéré comme terminé lorsque la comparaison du répertoire de travail s’achève avec des performances comparables à celles de la comparaison commit-to-commit.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Reproduction steps
Compare commit to the working tree directory on a relatively big repository
repository.Diff.Compare<TreeChanges>(
repository.Head.Tip.Tree,
DiffTargets.WorkingDirectory)
which takes a long time or never completes. Comparing the working trees of two commits works instantly
var branchDiffResult = repository.Diff.Compare<TreeChanges>(
targetCommit.Tree,
repository.Head.Tip.Tree,
compareOptions);
Additionally, doing repository.RetrieveStatus() is also slow, but not that slow.
Expected behavior
The speed of the two matches.
Actual behavior
Comparing to working directory is terribly slow.
Version of LibGit2Sharp (release number or SHA1)
0.27.0.0
Operating system(s) tested; .NET runtime tested
4.72, windows 11
- Langage dominant
- C#
- Étoiles
- 3.5k
- Forks
- 925
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de libgit2/libgit2sharp
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
libgit2/libgit2sharp#2193 · 2 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
libgit2/libgit2sharp#2192 · 1 commentaire ·
-
Website is down Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 20/100
libgit2/libgit2sharp#2191 · 2 réactions ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
libgit2/libgit2sharp#2189 · 1 réaction ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
libgit2/libgit2sharp#2187 · 2 commentaires ·
Toutes les issues de libgit2/libgit2sharp
Issues similaires
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
azurenoops/spin_agent#975 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulté 2/5 1-3 heures Accessibilité débutants 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
SubtitleEdit/subtitleedit#15108 · 1 commentaire ·