2016-08-01 6 views
0

Kann ich irgendwie verhindern, dass der post-commit Hook aufgerufen wird, wenn ich etwas im Submodul begehe? Ich verwende diesen Hook, um die Submodul-Änderungen automatisch mit der Haupt-Commit-Nachricht des Projekts zu committen, und ich komme in eine "Unendlichkeitsschleife".Verhindern, dass Hook `post-commit` für Submodule ausgeführt wird

Datei: post-commit

#!/bin/sh 
if git diff-index --quiet HEAD --; then 
    echo no submodule changes 
else 
    git submodule foreach git add . ; 
    git submodule foreach git commit -am "`cat .git/COMMIT_EDITMSG`" 
fi 

Dank.

+1

nur FYI, die Nachrichtenteil über 'getan werden könnte -F ' wieder verwendet commit oder '-c --reset-author' neben' -m '. – ElpieKay

Antwort

0

war ich nicht in der Lage richtig zu beheben, aber für jedes Modul den Befehl ausführen Ich habe nicht ins Gesicht dieses Problem mehr:

git submodule foreach "git diff-index --quiet HEAD -- || (git add . ; git commit -am \"`cat .git/COMMIT_EDITMSG`\" || :)" 
+0

Bedingte Markierreferenz http://askubuntu.com/a/539293/275390 –

Verwandte Themen