2012-03-09 15 views
20

Tengo un archivo foo.txt que quiero eliminar, y otro, bar.txt, que deseo agregar. Si estos dos archivos tienen más del 50% de contenido igual, Git considerará que foo.txt se renombrará como bar.txt. ¿Cómo puedo hacer que Git realmente vea esto como una eliminación individual, con un agregado individual, en el mismo compromiso, sin cambiar el% de detección del umbral global.Make git ignore rename

Gracias!

+4

¿Hay alguna razón en particular por la que se registre como un "cambio de nombre" es un problema? – Ryan

+6

El problema es que los dos archivos no deberían tener su historia mezclada. Supongamos que tengo un archivo titulado 'JohnDoe.txt' que contiene la dirección del trabajo de John y el número de teléfono 555-555-1212. John deja la empresa al mismo tiempo que Jane Smith se une a la empresa (creando el archivo 'JaneSmith.txt'). La dirección de su trabajo es la misma, pero el número de teléfono es 555-555-1313. Si los dos add/rm son parte del mismo commit, Git lo considerará como un rename y 'git log --follow' me dirá que eran el mismo archivo (cuando evidentemente no quiero que lo sean). Sugerencias? – torngat

+0

@poke No tengo claro cómo funciona el duplicado. Mi pregunta fue hecha un año antes de la que usted identificó. ¿Vas por la respuesta "más completa"? – torngat

Respuesta

18

No puede. Internamente, se guardarán como una eliminación y una adición. La visualización de "renombrar" se calculará más tarde y depende de ese umbral.

1

Para deshabilitar la detección de cambio de nombre con TortoiseGit (aunque la opción de git-diff como ser, debe aplicarse a git por sí mismo también) he añadido la siguiente línea al gitconfig, que parece hacer el truco (aunque basado en la documentación, No creo que debería):

[diff] 
    renameLimit = 1