Advertencia de Git “se encontró con el estilo antiguo ‘/home/user/.gitignore’ que debería ser ‘%(prefijo)/home/user/.gitignore'”

2 minutos de lectura

Con la versión 2.35.1.windows.2 de git, todas las invocaciones de Git incluyen esta advertencia al menos una vez:

PS C:\Users\BoppreH\Desktop\source\keyboard> git status
warning: encountered old-style '/home/boppreh/.gitignore' that should be '%(prefix)/home/boppreh/.gitignore'
On branch new_core
Your branch is up to date with 'origin/new_core'.
[...]

A veces varias veces:

PS C:\Users\BoppreH\Desktop\source\keyboard> git pull
warning: encountered old-style '/home/boppreh/.gitignore' that should be '%(prefix)/home/boppreh/.gitignore'
warning: encountered old-style '/home/boppreh/.gitignore' that should be '%(prefix)/home/boppreh/.gitignore'
warning: encountered old-style '/home/boppreh/.gitignore' that should be '%(prefix)/home/boppreh/.gitignore'
warning: encountered old-style '/home/boppreh/.gitignore' that should be '%(prefix)/home/boppreh/.gitignore'
warning: encountered old-style '/home/boppreh/.gitignore' that should be '%(prefix)/home/boppreh/.gitignore'
Already up to date.

Lo cual es confuso, porque estoy en Windows y no hay .gitignore archivo en mi carpeta de inicio.

¿Qué está causando esta advertencia?

para lo último git lanzamientos para Windows, anteponiendo %(prefix) en cualquier referencia de archivo raíz se sugiere.

De lo contrario, recibirá la advertencia a la que se refiere. La cantidad de veces que lo obtendrá depende de la git comando que está ejecutando. Lo que refleja efectivamente la cantidad de veces que dichas referencias en su .gitconfig se analizan los archivos.

Creo que si actualiza la línea ofensiva como se muestra a continuación, no recibirá el mensaje de advertencia.

[core]
   excludesfile = %(prefix)/home/boppreh/.gitignore

Por cierto con Git para Windows v2.35.3 se lanzó una corrección de errores relacionada con %(prefix) cuando se utiliza el Subsistema de Windows para Linux (WSL).

Podría estar relacionado con su caso si agrega el prefijo y aún recibe la advertencia.

El archivo de configuración de usuario en ~/.gitconfig contenía la siguiente entrada:

[core]
    excludesfile = /home/boppreh/.gitignore

Entonces, el problema es que asumí que la barra diagonal inicial hacía que la ruta fuera absoluta (no lo hace), y transfirí un archivo .gitconfig desde una máquina Linux sin el archivo .gitignore correspondiente.

Mi solución fue eliminar la línea ofensiva.

Un simple ~ en el nombre del archivo me resolvió esto, con el beneficio adicional de que funciona en Windows y Unix.

[core]
  excludesfile = ~/.gitignore

La advertencia debería desaparecer.

¿Ha sido útil esta solución?