Sto trasmettendo ad un terminale, ma Git non sta rilevando correttamente che sto emettendo un terminale, allo scopo di colorare l'output. La mia domanda è, cosa significa realmente git-config (1) quando dice "i colori sono usati solo quando l'output è su un terminale" (questa frase appare alla fine di più descrizioni di configurazione, come per color.ui e colore .ramo)? In altre parole, in che modo Git decide se trasmettere o meno a un terminale e come posso modificare le impostazioni dell'ambiente per informare Git che il mio terminale è effettivamente un terminale?Cosa significa git-config (1) quando dice "i colori sono usati solo quando l'output è su un terminale"?
Specifiche:
Sto usando il terminale rxvt con Cygwin su Windows. Ho anche installato MSysGit. Quando eseguo le impostazioni di configurazione Git:
[color]
ui = auto
branch = auto
status = auto
non c'è ancora alcun colore nella mia uscita terminale. Tuttavia, quando passo a
[color]
ui = always
branch = always
status = always
quindi c'è un'uscita colorata corretta. Tuttavia, ho bisogno di tornare a "auto", non "sempre", al fine di gestire correttamente i casi non terminali reali. Quindi, allo scopo di far funzionare correttamente "auto": Come cambio il mio ambiente per far riconoscere a Git che il mio rxvt + Cygwin è un terminale capace di supportare il colore?
(PS. Non posso usare la versione Cygwin di Git a causa di problemi molto più grandi rispetto a questo problema di colore relativamente minore. Non rispondere a dirmi di passare alla versione Cygwin.)
Grazie per la il tuo aiuto!
A cosa è impostata la variabile di ambiente 'TERM'? (Controlla con 'echo $ TERM'.) – ezod
@ ezod: Ho provato a cambiare TERM con alcuni valori diversi, e non ha avuto alcun effetto. Il valore corrente (vale a dire l'ultimo valore che ho provato) è "xterm-256color". – walrus