2016-09-28 2 views
1

Wenn mein Projektverzeichnis eine symbolische Verbindung zu dem Verzeichnis ist, in dem das aktuelle Verzeichnis gespeichert ist, gibt den tatsächlichen Pfad aus, wahrscheinlich "physischer Pfad" genannt. So zum Beispiel, wenn ich in dem rechts Weg hier sichtbar bin:git rev-parse --show-toplevel um symbolische Links nicht aufzulösen

ln -s /home/me/.hidden_projects_storage/newproject /home/me/workspace/newproject.git 

dann --show-toplevel AUSGABE:

/home/me/.hidden_projects_storage/newproject 

Ich bin runnign git rev-parse von Top-Level-Verzeichnis, newproject.git. Kann ich irgendwie den symbolischen Pfad zurückgeben?

Antwort

0

Versuchen Sie dies auszuführen:

echo $(cd $(git rev-parse --show-cdup) .; pwd) 
+0

es versucht, und es gibt nicht modifizierten, physischen Pfad – Itzie

+0

Mein Fehler, die standardmäßig 'realpath' Symlinks folgt. Es gibt eine Option, die diese Funktion deaktiviert ('-s'), aber" realpath "schlägt immer noch fehl, wenn Sie es aus dem obersten Verzeichnis des Repositorys ausführen (weil in diesem Fall' git-rev-parse' eine leere Zeichenfolge zurückgibt). Ich habe meine Antwort geändert, derzeit verwendet es nicht mehr 'realpath', also sollte es flexibler und portabler sein. – qzb

Verwandte Themen