2015-08-14 6 views
5

Ich arbeite an einem Projekt mit beiden Englisch und Hebräisch in Git (2.4.5 auf Cygwin). Ich habe keine Probleme mit der Verwendung von Hebräisch in einem Git Repository gefunden.Unicode in Git alias

Da ich oft zwischen Hebräisch und Englisch hin- und herwechsle, lege ich Aliase in meine bashrc für allgemeine Befehle, so dass es funktioniert, wenn ich versuche, sie einzugeben, wenn meine Einstellung Hebräisch ist. Zum Beispiel

alias עןא=git 

(עןא ist keine Übersetzung oder Transkription von Git, es überhaupt kein Wort ist, ist es genau das, was Sie bekommen, wenn Sie versuchen, „git“ zu geben, aber Ihre Tastatur ist auf Hebräisch festgelegt.).

Wenn ich versuche, den nächsten Schritt zu machen, bekomme ich jedoch Probleme. Ich füge Aliase meine Git config:

[alias] 
    דאשאוד=status 

und dann zu laufen versuchen:

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

(ja, דאשאוד = Status ist Zeile 18)

Gibt es eine Möglichkeit, eine Git zu erhalten Alias, um hebräische Buchstaben zu akzeptieren (entweder über .gitconfig oder auf andere Weise)?

+0

Die Fehlermeldung stammt von der 'git_parse_source()' Funktion in den config.h Zeilen 414-477. https://github.com/git/git/blob/master/config.c#L414 –

+0

Der Anruf zu "isalpha (c)" in Zeile 461 ist wahrscheinlich der Schuldige. Ich vermute, dass die einzige Lösung darin besteht, die Quelle zu ändern. Ich bin nicht sicher genug, dies als Antwort zu posten. –

Antwort

0

Ich habe eine Antwort auf meine eigene Frage gefunden, aber es ist hässlich. Bessere Antworten werden immer noch geschätzt.

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

Es funktioniert ... aber mit einer Fehlermeldung, die ich nicht verstehe.

Die Fehlermeldung tritt nicht auf, wenn ich stattdessen die Datei git-someenglishname aufruft.

Ich versuchte auch einige Manipulation, um die Fehlermeldung auszugeben. Das Problem ist, dass, wenn ich dies in/bin/git-דאשאדאשאד lege, die Nachricht immer noch da ist. Ich nehme an, das liegt daran, dass die Fehlermeldung durch den Aufruf von git selbst außerhalb des Aufrufs von git- producedדאשאד erzeugt wird.

Ich denke, eine vollständige Lösung wäre, ein Wrapper-Skript für git selbst (oder vielleicht nur für עןא) zu erstellen, das diese Fehlermeldungen entfernt. Das ist noch hässlicher. Wie gesagt, eine bessere Antwort wäre immer noch sehr willkommen.

Verwandte Themen