Git/SVN-Branch Infos im Shell-Prompt

Grade ein cooles Gist gefunden, mit dem man sich auf der Linux-Shell direkt die SVN/Git Branch Infos anzeigen lassen kann. Gleich nochmal bisschen verbessert (Lesbarere Farben und cooles Prompt ^^). https://gist.github.com/patkar/8765296

Das coole Prompt finde ich absolut uncool :wink: aber ansonsten habe ich das Script (nach Anpassung des Prompts auf die von mir gewohnte Darstellung) in meinem Entwicklungsrechner auch mal installiert.
Danke dafür!

Ja, das Prompt hat jeder individuell, außer jemand hat sich sein PS1 noch nicht angepasst. Mir taugts in der Hinsicht, das die Befehle immer in einer neuen Zeile beginnen, somit verschiebt mir die Pfadangabe nicht immer den Eingabeanfang.

Achja, @cmrudolph , schau nochmal rein, hab jetzt noch den Teil reingetan, dass der Reitertitel des Terminalfensters wieder angepasst wird.

Ich habe selbst eine kleine Modifikation gemacht, damit die PS1 Variable nicht einfach überschrieben wird und sie vom System wie gewohnt gesetzt werden kann.
Dazu habe ich die zwei „# Set the final branch string.“ Zeilen so modifiziert, dass in der BRANCH Variable am Anfang ein Leerzeichen ist.
Außerdem die Zeile „# Set the bash prompt variable.“ so modifiziert:

PS1="${ORIG_PS1/\\\$/${BRANCH}${PROMPT_SYMBOL}}"

und nach „# Tell bash to execute this function just before displaying its prompt.“

ORIG_PS1="$PS1"

Das ist denke ich der eleganteste Weg. Zumindest wird man sich nicht wundern, weshalb die Einstellungen in PS1 nicht übernommen werden. Oder falls in der Distribution nochmal ein Script dazukommt. Oder um die force_color Einstellungen zu respektieren. Oder … :wink:

Eh gscheid :wink: Hast ein Gist dazu?

Ne, hab noch nie ein Gist erstellt. Falls du nen Link zu nem Quick-Tutorial hast, mach ich das eben.

*** Edit ***

So:

@cmrudolph ich hab da noch nen Bug gefunden. Wenn ich in einem Git-Projekt bin zeigt er mir erstmal korrekt (master) in rot an und dahinter in weiss das $. Drücke ich dann Strg+C wird das $ auch rot.
Nur ne Kleinigkeit aber doch recht auffällig.

PS: Eigentlich sollte das $ ja blau sein…aber weiss ist auch ok :). PS1 ist ${debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[01;34m] \w $[\033[00m] (Standard bei Linux Mint)

Das hat mich zuerst auch gewundert, ist aber ein nettes Feature. Das $ wird dann rot, wenn das zuvor ausgeführte Programm einen Returncode != 0 hat.
Teste mal:

$ true
$ false
$ true

Edit: ok, dass das $ weiß statt blau wird, ist natürlich nicht so nett. Mal schauen, ob man da was machen kann.

*** Edit ***

@HoaX : Ich habe gerade die zwei kleinen Bugs noch behoben.
Siehe hier: git_svn_bash_prompt.sh · GitHub

Das Promptzeichen wird in der „normalen“ Farbe dargestellt, falls der letzte Rückgabewert true war. Ansonsten rot.
Außerdem habe ich den Fehler mit dem doppelten Leerzeichen behoben, falls jemand vor seinem Promptzeichen ein Leerzeichen hat.

P.S.: vielleicht mag ein Mod die Beiträge zu diesem Thema ins Projektunterforum verschieben.

Hui, das mit dem Returnwert hab ich mir wohl gekillt ^^ muss ich wieder wo einbauen in mein Prompt ^^

Ich bin mir nicht sicher, aber sollten wir das vielleicht besser nach Deployment verschieben?

Mir egal, aber vielleicht den Titel besser in „Git/SVN-Branch Infos im Shell-Prompt“ umbenennen :slight_smile: