Se indica el número de filas agregar, modificar y eliminar con git estadísticas

Necesito una solución que me muestra el número de filas de añadir, eliminar y modificar desde cada git commit. Para git stats, muestra solo las inserciones y eliminaciones, pero no las modificaciones. No he encontrado una solución que podría ser útil para este problema.

Example

1 Respuestas

  • VonC
    4 de mayo de 2019

    Esa pregunta se mostró este parche propuesta a principios de 2018.
    Felipe de Madera tratado de poner de relieve el concepto de "modificación de las líneas".
    (Una versión simplificada de su parche hecho aquí)

    Cuando un conjunto de líneas que se modifica el trozo contiene eliminaciones seguidas por las inserciones.
    Correctamente etapa de un subconjunto de la modificación de las líneas que necesitamos para que coincida con el seleccionado eliminaciones con el seleccionado inserciones si no queremos terminar con deleciones y el contexto de las líneas seguidas por las inserciones que no es lo que queremos.

    Que terminó a ser complicado:

    Para implementar el ensayo modificado líneas el código de necesidades a la par de cada uno de los eliminados de la línea con su reemplazo.
    Esto se hace mediante la agrupación de los consecutivos de las líneas seleccionadas, de modo que se tiene una lista de grupos de líneas eliminadas y otra lista de insertar líneas, entonces los pares de las supresiones y las inserciones por su índice en la lista.

    Felipe comenzó a tener dudas:

    Estoy empezando a ver por qué todos los otros programas que he probado en la redacción de este (tig, gitg, gitk y mercurial's versión de add -i) no se hará ningún intento de etapa modificado líneas correctamente, aunque creo que Git debe tener alguna manera de hacerlo

    Hubiéramos preferido el principal mantenedor de Git Junio C. Hamano confirmado esas dudas, con esta respuesta:

    Sí, este es un tipo de característica que se puede proponer y ejecutar algo que funciona bien en algunos de los casos limitados uno de los usos, pero no en otros casos.
    Y se hace muy difícil explicar cómo evitar la limitación de implementación---es por eso que me detuve en "dividir este trozo?" y no ir más allá cuando diseñé el original "incremental de añadir" característica.

    Creo que la verdadera razón por la que es difícil es que no hay una buena definición de "modificado" en "la etapa de modificación de las líneas".
    Y peor aún, no hay una buena manera mecánica de la figura, pues un parche sólo le da "estos fueron eliminados" y "estos son añadidos", sin darle "esta línea en el borrado del bloque que corresponde a estas dos líneas en el bloque agregado" (es decir, "esta original línea fue modificado en esta cosa en el resultado").