Automatisch anwenden "git update-index --chmod=+x" zu ausführbaren Dateien

Ich Häufig hinzufügen, bash-Skripte zu meinem git-repository, und die Skripte sind ausführbare Berechtigungen im linux-Dateisystem vor der git add. Aber nach dem drücken der hinzugefügten Dateien in einem remote-repository und ziehen in eine andere Lage, die Dateien mit der nicht-ausführbaren Berechtigungen. Es scheinen zwei Möglichkeiten, um das problem zu beheben:

1. chmod u+x $script 
   git commit -am "fixing the script permissions... again..."

oder

2. git update-index --chmod=+x $script

Statt der Fixierung bis die Berechtigungen zu jeder Zeit, gibt es eine Möglichkeit git schauen Sie einfach auf die Datei-Berechtigungen auf das Skript während git add erkennen, dass "hey, das hier ist eine ausführbare Datei!" und fügen Sie das repository mit der exectuable Berechtigungen direkt?

Ist der andere Standort über filemode=false?
Beide Standorte sind unter linux, so gibt es keine filemode=false Problem. Ich denke, das ist das normale Verhalten von git--ich bin gerade auf der Suche nach einem Weg, überspringen Sie die manuelle Korrektur Schritt.
Die githooks manpage Zeiger.
Nun, es sieht aus wie ganz ein Aufwand betrieben wird, um die Ergänzungen des letzten commit, dann prüfen Sie, ob Sie ausführbar sind, führen Sie dann die Korrektur. Jede änderung in der Ausgabe-format von git log würde brechen die Haken, usw. Es scheint eher wie ein bug zu mir, ließ Sie die Datei Berechtigungen auf dem Weg in das repository. Ich sehe nicht, wie es anders aus Drop Zeichen aus der Datei, oder ändern Sie den Dateinamen. Aber eine Abhilfe hat dicht zu sein, ansonsten ist die manuelle Korrektur stellt sich heraus, eine viel bessere Lösung.
Bald mit git 2.9/2.10 (Q3 2016), eine einfache git add --chmod=+x genug sein! Siehe meine Antwort unten.

InformationsquelleAutor Byron Hawkins | 2013-01-10

Schreibe einen Kommentar