Ich möchte einen Shell-Befehl ausführen, der sich um Cache-Dateien und Kompilierung kümmert, nachdem ich git pull
oder svn update
ausgeführt habe (in einem anderen Projekt)?Gibt es eine Möglichkeit, einen Shell-Befehl automatisch nach dem Repository-Update/Switch zu triggern?
Antwort
Sie können SVN-Hooks von der Befehlszeile aus auf verschiedenen Ereignissen (vor und nach) verwenden, um Ihre benutzerdefinierten Skripts auszuführen.
Es scheint, dass es kein Hook für 'update' Event gibt, bitte sehen Sie here und sammeln Sie Details.
In Bezug auf SVN: nicht sicher, ob dies helfen wird, aber wenn Sie TortoiseSVN verwenden, können Sie clientseitige Hook-Scripts verwenden:
Derzeit gibt es sechs Arten von Hook-Scripts zur Verfügung
Start begehen
Wird aufgerufen, bevor der Bestätigungsdialog angezeigt wird. Möglicherweise möchten Sie dies verwenden, wenn der Hook eine versionierte Datei ändert und sich auf die Liste der Dateien auswirkt, für die eine Commit- und/oder Commit-Nachricht erforderlich ist. Sie sollten jedoch beachten, dass die vollständige Liste der für die Festschreibung ausgewählten Objekte nicht verfügbar ist, da der Hook zu einem frühen Zeitpunkt aufgerufen wird.
Vorbesprechung
Wird aufgerufen, nachdem der Benutzer im Bestätigungsdialogfeld auf OK geklickt hat und bevor das eigentliche Festschreiben beginnt. Dieser Hook hat eine Liste von genau was begangen wird.
Nachbestellung
Wird aufgerufen, nachdem der Commit abgeschlossen ist (ob erfolgreich oder nicht).
Start-Update
Wird aufgerufen, bevor das Update-to-Revisions-Dialogfeld angezeigt wird.
Voraktualisierung
Wird aufgerufen, bevor das eigentliche Subversion-Update beginnt.
Nach dem Update
Wird aufgerufen, nachdem das Update abgeschlossen wurde (ob erfolgreich oder nicht).
Ein Hook ist für einen bestimmten Arbeitskopiepfad definiert. Sie müssen nur den Pfad auf oberster Ebene angeben. Wenn Sie eine Operation in einem Unterordner ausführen, sucht TortoiseSVN automatisch nach einem passenden Pfad.
Als nächstes müssen Sie die auszuführende Befehlszeile angeben, beginnend mit dem Pfad zum Hook-Skript oder der ausführbaren Datei. Dies kann eine Batchdatei, eine ausführbare Datei oder jede andere Datei sein, die eine gültige Windows-Dateizuordnung besitzt, z. ein Perl-Skript.
Ich führe die update/pull-Befehle den Server über SSH und nicht TortoiseSVN - Ich würde einen Remote-Desktop dafür benötigen, um zu arbeiten. – Tower
- 1. Gibt es eine Möglichkeit, einen Bash-Befehl nach dem Speichern einer Datei in vim automatisch auszuführen?
- 2. Gibt es eine Möglichkeit, Eigenschaft Setters unter Triggern
- 3. Gibt es in LaTeX eine Möglichkeit, Float automatisch nach dem ersten Verweis zu setzen?
- 4. Gibt es eine Möglichkeit, Supervisor-Prozesse automatisch neu zu laden?
- 5. Gibt es eine Möglichkeit, einen Wert basierend auf dem Datum automatisch zu aktualisieren?
- 6. Gibt es eine Möglichkeit, Anforderungen.txt automatisch auszugeben?
- 7. Gibt es eine Möglichkeit, den Flugmodusstatus automatisch zu überprüfen?
- 8. Gibt es eine Möglichkeit, Fortschrittsbalken in Oberflächendarstellungen automatisch zu starten?
- 9. Gibt es eine Möglichkeit, automatisch einen Screenshot einer Website über eine URL zu erstellen?
- 10. Gibt es eine Möglichkeit, alle vorhandenen Gruppen automatisch zu durchlaufen?
- 11. Gibt es eine Möglichkeit für DBUnit, Tabellen automatisch zu erstellen?
- 12. Gibt es eine Möglichkeit, diese Diashow automatisch zu verschieben? Diese
- 13. Gibt es eine Möglichkeit, in Netbeans 8 automatisch zu speichern?
- 14. Gibt es eine Möglichkeit, eine Alertview nach einiger Zeit automatisch zu schließen?
- 15. SQL Server statt Einfügen von Triggern - gibt es eine einfache Möglichkeit, eine einzelne Spalte zu ändern?
- 16. Gibt es eine Möglichkeit, HD-Daten nach EOF zu lesen?
- 17. Gibt es eine Möglichkeit automatisch eine #define in jeder Quelldatei
- 18. Gibt es eine Möglichkeit, einen Magento-Indexer-Prozess zu stoppen?
- 19. Gibt es eine Möglichkeit, einen Browser von einem anderen Computer mit Knoten js zu öffnen?
- 20. Gibt es eine Möglichkeit, einen Prozess "aufwärmen" zu lassen?
- 21. Gibt es eine Möglichkeit, django.db.connection.queries zu löschen?
- 22. Gibt es eine Möglichkeit, einen Unterordner in Vagrant zu synchronisieren?
- 23. Gibt es eine Möglichkeit, Excel-Spaltenbreiten mit pandas.ExcelWriter automatisch anzupassen?
- 24. Gibt es eine Möglichkeit, einen Subprozess mit Pydev zu debuggen?
- 25. Gibt es eine Möglichkeit, einen InputStream zu teilen?
- 26. Gibt es eine Möglichkeit, einen Knopf zu drücken, ohne es auf tkinter/python zu berühren?
- 27. Gibt es eine Möglichkeit, einen laufenden Countdown zu ändern?
- 28. Gibt es eine Möglichkeit, ein Django-Feld in Bezug auf einen Fremdschlüssel automatisch zu inkrementieren?
- 29. Gibt es eine Möglichkeit, einen Beitrag automatisch zu aktualisieren, wenn ein Beitrag in Wordpress veröffentlicht wird?
- 30. Gibt es eine Möglichkeit, AMDPlugin zu deaktivieren?
TortoiseSVN ist keine "GUI-Ebene über Kern-SVN". TortoiseSVN ist eine unabhängig entwickelte App, die die veröffentlichten SVN-Bibliotheken nutzt. Es implementiert mehrere Features, die nicht in SVN.EXE sind, wie clientseitige Hook-Skripte (ein Beispiel). SVN-Hooks sind serverseitig. Sie werden nicht ausgeführt, wenn ein Benutzer SVN UPDATE für ihre lokale Arbeitskopie ausführt. –
Hoppla !. Danke für die Information! – pavanlimo
"Wenn die GUI unterstützt, muss die Kommandozeile!" - Wer hat diese Regel gemacht? –