libgit2 / libgit2/pygit2

GitError raised on parsing a diff that has a filename with spaces

Abierto
#1,260 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
1.7k
Forks
408
Merge medio
2 d 57 min
PR fusionados (30 d)
7

Descripción

This was raised originally at cpp-linter/cpp-linter-action#178 in which a large diff was parsed by pygit2.Diff.parse_diff() (on ubuntu-latset CI github runner).

The error says:

pygit2.GitError: trailing data at line 3734

Here's the full diff: full_pr.diff.txt which was generated by github with the URL https://github.com/edunad/rawrbox/pull/108.diff

Line 3734 is

rename from render/content/fonts/SIL Open Font License.txt

I was able to reproduce this error locally on Windows. Is this expected behavior?

If I remove the spaces from the file name or put the entire path in quotes, then the diff is parsed without problem.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con pygit2.Diff.parse_diff() y reproduce el fallo usando el full_pr.diff.txt adjunto, centrándote en la línea 3734 y en el nombre de archivo que contiene espacios. Se considera terminado cuando el diff proporcionado se analiza correctamente sin requerir que se cambie el nombre del archivo ni que se entrecomille.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
git, python
Área
tooling
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.