Mostrar files renombrados en GitWeb

Renombre algunos files con git mv . Normalmente, el git status detectaría esto y mostraría que estos files fueron renombrados. Sin embargo, en GitWeb estos files se muestran como eliminados y se crean con un nuevo nombre. ¿Hay alguna manera de decirle a GitWeb que intente detectar files renombrados? Tal vez, algún otro visor de Git basado en web puede hacer esto?

Git no rastrea los nombres . Realmente trata las dos operaciones siguientes exactamente de la misma manera:

  1. Cambie el nombre de un file dentro de Git:
    • git mv foo bar
  2. Eliminar un file y luego agregar uno nuevo con el mismo contenido:
    • cp foo bar
    • git rm foo
    • git add bar

Algunas herramientas mostrarán algo como " foo renombrado a la bar ", pero es solo una suposition basada en contenido similar. Otras herramientas mostrarán " foo eliminado y bar agregada". Para Git son lo mismo.

La página de gitweb.conf enumera una directiva de configuration que se puede usar para cambiar cómo se detectan los cambios de nombre:

@diff_opts

Cambie el nombre de las opciones de detección para git-diff y git-diff-tree. El valor pnetworkingeterminado es ('-M'); configúrelo en ('-C') o ('-C', '-C') para detectar también copys, o configúrelo en (), es decir, list vacía si no desea que se renombre la detección.

Tenga en count que el cambio de nombre y, sobre todo, la detección de copys puede requerir bastante de la CPU. Tenga en count también que las herramientas no git pueden tener problemas con los parches generados con las opciones mencionadas anteriormente, especialmente cuando implican copys de files ('-C') o renombrados entrecruzados ('-B').

Parece que el valor pnetworkingeterminado de ('-M') es lo que desea ( desde la página de git-diff ):

-M[<n>]
--find-renames[=<n>]

Detectar cambia de nombre Si se especifica n , es un umbral en el índice de similitud (es decir, cantidad de adiciones / eliminaciones en comparación con el tamaño del file). Por ejemplo, -M90% significa que git debería considerar un par de eliminar / agregar para cambiar el nombre si más del 90% del file no ha cambiado. Sin un signo % , el número debe leerse como una fracción, con un punto decimal antes. Es decir, -M5 convierte en 0.5 , y por lo tanto es lo mismo que -M50% . Del mismo modo, -M05 es lo mismo que -M5% . Para limitar la detección a los -M100% nombre exactos, use -M100% .

¿Quizás los files que comparas también tienen suficiente contenido diferente que no se están detectando como un cambio de nombre?