Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

UnifiedDiff for staged files with Git

Abierto
#2,876 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
java
Área
tooling

Línea de trabajo

Comienza en CompareUIPlugin.prepareUnifiedDiff(...) y sigue cómo se seleccionan IFileEditorInput, UnifiedDiffSource y el fallback compare editor. Compara la ruta staged index-versus-HEAD con la ruta unstaged workspace-file y, después, determina y documenta el comportamiento esperado de unified-diff para los archivos staged. Se considera terminado cuando el comportamiento elegido está implementado y cubierto por las comprobaciones de comparación relevantes.

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

Descripción

The UnifiedDiff compares currently against a file from the workspace. As soon as a file is staged, the comparison falls back to the old compare editor as now two Git states (index vs head) are compared.

The fallback is decided in  CompareUIPlugin.prepareUnifiedDiff(...) . The unified diff needs a workspace file ( IFileEditorInput ) to overlay onto:

if (leftEditorInput instanceof IFileEditorInput) {           // working-tree side
    return new UnifiedDiffSource(..., UnifiedDiffMode.REVERT_MODE, ...);
}
if (rightEditorInput instanceof IFileEditorInput) {
    return new UnifiedDiffSource(..., UnifiedDiffMode.OVERLAY_READ_ONLY_MODE, ...);
}
return null;   // ← neither side is a workspace file → classic compare editor

• Unstaged changes (working tree vs. index/HEAD): the left side is the workspace file → unified diff works. ✅
• Staged changes (index vs. HEAD): both sides are Git revisions, neither is an  IFileEditorInput  →  prepareUnifiedDiff  returns  null  → classic compare. ❌

Not sure how we should handle that. Should we still compare against the workspace file? Or leave that to the old compare?

cc @tobiasmelcher

Lenguaje dominante
Java
Estrellas
165
Forks
174
Merge medio
2 d 16 h
PR fusionados (30 d)
45

Preparar el entorno

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.

Más de eclipse-platform/eclipse.platform

Todos los issues de eclipse-platform/eclipse.platform

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.