Subversion Haken

8

Ich arbeite in einem Projekt, in dem es Konfigurationsdateien gibt, eine für jede der Umgebungen, in denen die Anwendung implementiert werden würde.

Wenn ein Entwickler eine dieser Dateien ändert, sollte es dem Entwickler nicht erlaubt sein, die Datei einzeln einzuchecken, sondern alle Dateien zusammen einzuchecken, oder zumindest der Entwickler sollte darüber informiert werden, dass dies getan werden muss / p>

Wie können wir es erreichen?

    
Shyam 24.11.2008, 11:37
quelle

2 Antworten

12

Ich würde denken, Sie könnten einen Pre-Commit-Hook schreiben, um dies zu tun - haben Sie einfach eine Liste von Dateien, in denen, wenn eine committed ist, sie alle committed werden müssen.

Sie können Hooks in jede Sprache schreiben, in die Sie eine Befehlszeilenanwendung schreiben können. Das einzige Problem besteht darin, dass sie im Kontext des SVN-Servers laufen und (zumindest traditionell, weiß ich nicht, ob dies der Fall ist) verbessert), ihnen wird nicht viel Umgebung gegeben, wenn sie beginnen - Sie können durch einen Mangel an 'PATH' zum Beispiel erwischt werden.

Ihr Repository wird Beispiel-Batchfile / Shell-Skript-Hooks im 'Hooks' Verzeichnis haben, aber ich habe sie auch in C # in der Vergangenheit geschrieben.

Diese Ссылка sieht wie eine gute allgemeine Einführung in die Pre-Commit-Hooks aus.

>     
Will Dean 24.11.2008, 11:48
quelle
1

Nein, um Informationen über die Transaktion zu erhalten, kann Ihr Skript einfach svn über die Details abfragen. Und svn kann diese Informationen bereitstellen, es muss nicht auf dem gleichen Server sein.

Was er damit meint ist, dass wenn Subversion Ihren Hook ausführt, ohne eine Umgebung und durch den svn Server selbst ausgeführt wird. Alle externen Ressourcen, auf die Ihr svn-Hook möglicherweise zugreifen muss, müssen vom svn-Server-Account zugänglich sein. Von dem, was Sie fragen, ist dies möglicherweise kein Problem, vorausgesetzt, Sie benötigen keinen externen Datenbankzugriff oder Ähnliches, mit dem Sie die Transaktion vergleichen können.

Am besten ist es, sich einige Subversion-Hooks anzuschauen, die mit svn für Beispiele. Auch SVN-Hook-Argumente zeigt, wie jeder Hook aufgerufen wird.

    
Danny 24.11.2008 12:31
quelle

Tags und Links