libgit2 / libgit2/libgit2sharp
Diff compare with DiffTargets.WorkingDirectory is terribly slow
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C#
- Estrellas
- 3.5k
- Forks
- 925
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce la ralentización con repository.Diff.Compare(repository.Head.Tip.Tree, DiffTargets.WorkingDirectory) en un repositorio relativamente grande y compárala después con la sobrecarga commit-to-commit y repository.RetrieveStatus(). Rastrea la ruta de comparación del directorio de trabajo y mide dónde se emplea el tiempo. Se considera completado cuando la comparación del directorio de trabajo finaliza con un rendimiento comparable al de la comparación commit-to-commit.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- csharp, git
- Área
- backend-api-design, performance
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100