He utilizado un script de perl para modificar todos los caracteres de tabulación en un repositorio de php git y los he cambiado a 4 espacios.Compromiso de Git que no anula a los autores originales en culpa de git
$ find -iname \*.php -exec perl -pi -e "s/\t/ /g" {} \
Puedo comprometerme con este cambio git commit
, pero me marcará como el autor de todas líneas cambiadas dentro git blame
después de esta confirmación se hace.
¿Hay alguna manera de cometer este cambio masivo que no me marca como el autor de las líneas modificadas, pero conserva el autor original? Es mucha historia que realmente no queremos perder en nuestro proyecto.
Nuestro propósito en el reemplazo de pestañas con 4 espacios no es hacer que las cosas parezcan diferentes en git blame, sino seguir los estándares de codificación PEAR adecuados. P.ej. sin pestañas, use 4 espacios para sangría.
Quizás el comando de culpa admite una opción para ignorar los cambios de espacio en blanco. – CodesInChaos
@CodeInChaos: yes, '-w' http://www.kernel.org/pub/software/scm/git/docs/git-blame.html. Haga de esto una respuesta –