Frage
Mein Team nutzt SVN für unsere Software-Plattform, und wir erstellen Tags in regelmäßigen Abständen, um zu helfen Modulversionen gerade. Best Practice, wie ich es verstehe, ist kein Tag zu ändern, nachdem es erstellt wurde. Allerdings scheint es, dass manchmal die Versuchung zu groß ist und eine Modifikation an einen der Tags aus.
Gibt es eine Möglichkeit, diese Art von checkins zu verhindern oder zumindest macht ihnen einen kompletten Schmerz, damit wir sie automatisch davon abhalten können?
Danke, Joe
Lösung
Erstellen Sie einen pre-commit , die das ablehnen wird begehen, wenn der Tag bereits vorhanden ist. Weitere Einzelheiten zu Haken Umsetzung finden sich hier (siehe Erstellen von Repository-Hooks Abschnitt):
http://svnbook.red-bean.com /nightly/en/svn.reposadmin.create.html
Andere Tipps
Methinks Sie versuchen, eine technische Lösung für ein nicht-technisches Problem zu finden. Sie müssen erkennen, warum diese checkins vor herauszufinden, gemacht werden, wie man mit ihnen umgehen. Wenn sie mit der Zustimmung der Teamführung vorgenommen werden, würde kein Betrag des Prozesses sie geschehen in Zukunft verhindern. Wenn auf der anderen Seite dieser checkins von den einzelnen Teammitgliedern gemacht werden, die dachten, sie wissen es besser - na ja, dann erhalten Sie die Führung beteiligt, das Problem eines Schurken Entwickler zu lösen
.Erst nachdem das ganze Team ist klar, was erwartet wird, sobald ein Tag erstellt wird, können Sie diese Erwartungen mit einer technischen Lösung durchsetzen können (falls erforderlich).
Was, wie checkins zu verhindern - scheint mir, dass die einfachste Lösung wäre es, wenn Sie den Tag erstellt haben, die Sicherheit setzen darauf nur schreib für alle durch die pfadbasierte Autorisierung . Beachten Sie jedoch, dass die Autoren des SVN Buch auch die folgenden über die pfadbasierte Autorisierung explizit angeben:
Beachten Sie jedoch, dass es oft unsichtbar (und sichtbar!) Kosten mit dieser Funktion verbunden. In dem sichtbar Kategorie, muss der Server tut viel mehr Arbeit, um sicherzustellen, dass die Benutzer hat das Recht, zu lesen oder zu schreiben jeweils spezifischen Pfades; in bestimmten Situationen, es ist sehr auffällig Leistungsverlust. Im unsichtbaren Kategorie, betrachten die Kultur du bist Erstellen. Die meiste Zeit, während bestimmte Benutzer nicht begehen Änderungen bestimmter Teile der Repository, dass Gesellschaftsvertrag muss nicht technisch sein durchgesetzt werden.