2015-08-14 13 views
5

Sto lavorando a un progetto che coinvolge sia l'inglese che l'ebraico in Git (2.4.5 su Cygwin). Non ho riscontrato alcun problema con l'utilizzo dell'ebraico in un repository Git.Unicode in Git alias

Poiché passo spesso avanti e indietro tra l'ebraico e l'inglese, inserisco alias nella mia bascr per comandi comuni, in modo che funzioni se provo a digitarli quando le mie impostazioni sono in ebraico. Per esempio

alias עןא=git 

(עןא non è una traduzione o traslitterazione di Git, non è una parola a tutti E 'proprio quello che si ottiene quando si tenta di digitare "Git", ma la tastiera è impostata l'ebraico.).

Quando provo a fare il passo successivo, tuttavia, ho dei problemi. Aggiungo alias al mio Git config:

[alias] 
    דאשאוד=status 

e poi provo a fare funzionare:

$ עןא דאשאוד 
    fatal: bad config file line 18 in /home/Heshy/.gitconfig 

(sì, דאשאוד = Stato è la linea 18)

C'è un modo per ottenere un Git alias per accettare lettere ebraiche (tramite .gitconfig o un altro modo)?

+0

Il messaggio di errore è dalla funzione 'git_parse_source()', nelle righe config.h 414-477. https://github.com/git/git/blob/master/config.c#L414 –

+0

La chiamata a 'isalpha (c)' sulla riga 461 è probabile che sia il colpevole. Sospetto che l'unica soluzione sia modificare la fonte. Non sono abbastanza sicuro di postare questo come risposta. –

risposta

0

Ho trovato una risposta alla mia domanda, ma è brutta. Le risposte migliori sono ancora apprezzate.

echo 'git status "[email protected]"' > /bin/git-דאשאוד 
chmod u+x /bin/git-דאשאוד 

Funziona ... ma con un messaggio di errore che non capisco.

$ git דאשאוד 
error: invalid key: pager.דאשאוד 
Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

     testfile 

nothing added to commit but untracked files present (use "git add" to track) 

Il messaggio di errore non si verifica se chiamo invece il file git-someenglishname.

Ho anche provato alcune manipolazioni per annullare il messaggio di errore. Il problema è che se metto questo in/bin/git- דאשאוד, il messaggio è ancora lì. Presumo che ciò sia dovuto al fatto che il messaggio di errore viene generato dalla chiamata a git stessa, al di fuori della chiamata a git- דאשאוד.

Immagino che una soluzione completa sarebbe quella di creare uno script di wrapper per git stesso (o forse solo per עןא) che rimuove quei messaggi di errore. Questo è ancora più brutto. Come ho detto, una risposta migliore sarebbe ancora molto gradita.

Problemi correlati