Wie wird standardmäßig svn: keywords aktiviert?

8

Gibt es eine Möglichkeit, svn: keywords standardmäßig zu aktivieren, sodass diese Eigenschaft nicht bei jedem Hinzufügen einer neuen Quelldatei für jedes Schlüsselwort aktiviert werden muss?

    
jacknad 08.09.2011, 14:01
quelle

3 Antworten

2

Wie oben erwähnt, können Sie dazu auto-properties verwenden, aber Sie sollten sich eine große Frage stellen:

  • Warum möchten Sie Keywords verwenden?

Wenn Sie mit der Entwicklung arbeiten, können Sie einfach die verschiedenen svn -Befehle verwenden, um alle Informationen zu erhalten, die in den Schlüsselwörtern gespeichert werden. Dies ist also wirklich nicht notwendig.

Einige Leute behaupten, dass Schlüsselwörter erforderlich sind, wenn sich die Software auf dem Kundenstandort befindet, aber es gibt bessere Mechanismen, um zu validieren, welche Version Ihrer Software Sie verwenden. Zum Beispiel könnten Sie während der Kompilierung eine Datei mit einer aussagekräftigeren Revisions-ID (vielleicht die Versionsnummer und das Erstellungsdatum) erstellen und diese als eine Art "Über-Box" anzeigen. Die ID ist sinnvoller.

Ich weiß auch, dass ich den Schlüsselwörtern, die in Shellskripten enthalten sind, die sich möglicherweise in einer Kundensite befinden, nicht vertrauen kann. Das Shell-Skript könnte eine Revisionsnummer haben, aber das Shell-Skript könnte bearbeitet worden sein.

Wenn Sie dies wirklich benötigen und es auf Ihrer Website durchgesetzt werden muss, benötigen Sie einen Vorab-Auslöser, um fehlzuschlagen, wenn sich die Schlüsselwort-Eigenschaft nicht in einer Datei befindet. Die automatischen Eigenschaften können nur für einen Client festgelegt werden. Das bedeutet, dass Sie sicherstellen müssen, dass jeder Ihrer Entwickler diesen Satz hat. Jedes Mal, wenn sie einen neuen Computer bekommen, müssen Sie ihn erneut überprüfen.

Garantiert es auch nicht, dass die Immobilie in der Datei enthalten ist. Ältere Dateien im Repository werden nicht magisch hinzugefügt, auch wenn sie bearbeitet werden. (Auto-Eigenschaften werden nur hinzugefügt, wenn die Datei zum Repository hinzugefügt wird). Es gibt nichts, was den Entwickler daran hindert, es zu entfernen. Oder sie bearbeiten ihre Auto-Eigenschaften in ihrem Setup.

Sie müssen einen Vorab-Trigger verwenden, um sicherzustellen, dass die svn: keywords -Eigenschaft in jeder Datei vorhanden ist, in der sie benötigt wird und dass sie korrekt festgelegt ist. Der Pre-Commit-Hook wird es einfach ablehnen, eine Transaktion zu begehen, wenn diese Eigenschaft nicht gesetzt ist. Der Entwickler wird gezwungen, die Eigenschaft hinzuzufügen. Nach einigem Hin und Her werden die Entwickler ihren Subversion-Client so einrichten, dass er die automatischen Eigenschaften verwendet und sie selbst verwaltet.

Ich habe gerade einen Vorab-Auslöser , der dies erzwingen kann. Der Trigger ist in Perl geschrieben, benötigt aber nur Standardmodule, daher ist es einfach einzurichten. Sie können konfigurieren, um anzugeben, für welche Dateien das Schlüsselwort erforderlich ist und auf was es festgelegt werden soll. Wenn eine Datei festgeschrieben wird und das Attribut svn: keywords nicht auf den korrekten Wert gesetzt ist, schlägt die Festschreibung fehl, und die Fehlermeldung erklärt, warum die Festschreibung fehlgeschlagen ist und was der Entwickler tun muss.

    
David W. 08.09.2011, 15:22
quelle
11

Ja, mit den Autoeigenschaften von Subversion: Ссылка

Jeder Eintrag des Abschnitts [auto-props] ist ein Datei-Glob, gefolgt von den Subversion-Eigenschaften, die automatisch angewendet werden, wenn eine Datei, die dem Glob entspricht, hinzugefügt ist. Wenn Sie beispielsweise festlegen möchten, dass alle CPP-Dateien standardmäßig bestimmte Eigenschaften aufweisen, befolgen Sie die Anweisungen auf Ссылка und ändern Sie die folgende Zeile nach Ihren Präferenzen:

%Vor%

Beachten Sie, dass die automatischen Eigenschaften nicht auf die hinzugefügten Dateien angewendet werden, wenn Sie Dateien mit svn add und anschließend aktivierten automatischen Eigenschaften hinzugefügt haben. Automatische Eigenschaften werden nur auf Dateien angewendet, die hinzugefügt werden, nachdem automatische Eigenschaften aktiviert wurden.

    
Daniel Trebbien 08.09.2011 14:12
quelle
1

Das Speichern von SVN-Schlüsselwörtern in unseren PL / SQL-Programmen (und SQL-Skripten) hat den Entwicklungsprozessen und der Systemintegrität einen erheblichen Wert hinzugefügt. Wenn eine Änderung an die Produktion gesendet wird, wird sie vom Schlüsselwort Revision verfolgt und verwaltet. Vor der Implementierung war das Verschieben von Dateien und das Sicherstellen, dass die richtige Datei bereitgestellt wurde, sehr fehleranfällig. Außerdem können wir die Datenbank nach Versionsdaten abfragen (siehe SQL unten).

%Vor%

Beispiel:

%Vor%     
JRex 05.09.2014 13:55
quelle