Culpa de Git que no muestra historial

Cuando ejecuto git culpa en un file (usando msysgit) siempre obtengo el siguiente tipo de printing:

00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 1) package co 00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 2) { 00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 3) impor 00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 4) impor 00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 5) impor 00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 6) impor 00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 7) impor 

es decir, muestra todas las líneas como Aún no confirmadas.

Intenté esto en muchos files, que tienen muchas confirmaciones, siempre los mismos resultados. También intenté usar la ruta relativa / completa, pero parece no hacer diferencia.

Cuando trato de usar la culpa de TortoiseGit, siempre muestra cada línea como la última comprometida en la primera confirmación:

texto alternativo

incluso pensé, como ya he dicho, en realidad hay decenas de confirmaciones en la historia de estos files …

Ideas?

Editar – Más información

  • La culpa de Git funciona bien en GitHub, donde se realiza este repository.
  • También funciona bien si lo clono en una máquina Linux y culpo allí
  • Parece que solo en msysgit esto no funciona

git blame file.txt culpa a la versión de file.txt en su copy de trabajo. Si file.txt tiene Windows-newlines (CRLF) en el repository y tiene core.autocrlf = true , entonces cada línea de file.txt se considerará diferente y se informará por git blame como aún no confirmada.

La razón por la cual git blame <my_branch> (o mejor a git blame HEAD , que funciona no importa en qué twig estás) funciona, es que no culpa a la versión de copy de trabajo por lo que no hay potencial para que las líneas aún no se hayan comprometido .

Encontré la solución, muy raro.

Si ejecuto esto:

 git blame file.txt 

La historia está rota, como se publicó anteriormente.

Si hago esto en su lugar:

 git blame my_branch file.txt 

¡Funciona!

Esto es muy extraño, porque AFAICS el uso no requiere un nombre de twig:

 $ git blame usage: git blame [options] [rev-opts] [rev] [--] file 

Al iniciar git 2.0.1 (25 de junio de 2014), la culpa de git debe dejar de informar todas las líneas "Aún no comprometidas".

Ver commit 4d4813a por brian m. carlson ( bk2204 ) (abril de 2014):

culpa: manejar correctamente los files independientemente de autocrlf

Si un file contenía terminaciones de línea CRLF en un repository con core.autocrlf=input , entonces culpar siempre marcó las líneas como " Not Committed Yet ", incluso si no se modificaron.
No intente convertir los finales de línea al crear la confirmación falsa para que la culpa funcione correctamente independientemente de la configuration de autocrlf.

Otra posibilidad: Typo de nombre de file sensible a mayúsculas y minúsculas

Tuve el mismo problema con git blame file.txt, luego me di count de que había hecho un tipo de file de nombre de file sensible a mayúsculas y minúsculas con file.txt

Cambié a File.txt (por ejemplo), y obtuve los resultados esperados sin tener que especificar my_branch: git culpa File.txt

    Intereting Posts