36 Stimmen

Wie füge ich Fitnesse-Seiten zur Versionskontrolle hinzu?

Was ist die empfohlene Vorgehensweise? Sollte ich meinen Unterordner dem Fitnesse-Ordner zur Versionskontrolle hinzufügen?

Kontext: Arbeiten an einem einzelnen Entwickler-Rails-Pet-Projekt. Mein Rails-Projekt befindet sich unter Versionskontrolle (Subversion), aber meine Fitnesse-Wiki-Seiten liegen unter dem Fitnesse-Programmordner.

Fitnesse scheint seine eigene Versionskontrolle zu haben... (Ich sehe nummerierte Zip-Dateien neben jeder meiner Wiki-Seiten) Ist das zuverlässig? Wo werden die Revisionen gespeichert?

32voto

Gishu Punkte 130442

Verwenden Sie den -d -Schalter (der überraschend unauffällig ist bei einer Google-Suche)

Fitnesse20081201>run -p 8080 -d c:/projects/MyProjectNeedsAcceptanceTests

Dadurch wird, falls nicht bereits vorhanden, ein Unterordner im angegebenen Ordner namens FitnesseRoot erstellt, mit allem, was zum Ausführen benötigt wird.

Fitnesse sollte aktiv sein. Wechseln Sie zu Ihrem Browser. Gehen Sie voran und erstellen Sie Ihre Seiten.

  • Sie werden für jede erstellte Fitnesse-Seite einen Unterordner haben.
  • Jeder Ordner enthält eine content.txt (das Wiki-Inhalt) und eine properties.xml (die Fitnesse-Eigenschaften für diese Seite).
  • Alle Unterseiten werden Unterordner unter dem Ordner für die übergeordnete Seite sein.

Verzeichnisse und Dateien... Sie sind bereit für Ihren ersten Check-in beim Versionskontrollsystem. Richten Sie auch Ihre Versionskontrolle so ein, dass bestimmte Dateitypen ignoriert werden.

  • FitnesseRoot/files
  • FitnesseRoot/ErrorLog
  • *.zip

(Die .zip-Dateien sind die Art und Weise, wie Fitnesse Änderungen an Wiki-Seiten nachverfolgt, eine kurzfristige lokale Versionskontrolle. Versionskontrollsysteme wie svn, git, cvs usw. sollten sich darum kümmern. Daher müssen wir die Zip-Dateien nicht einchecken)

Hoffentlich ergibt das Sinn.. Wenn nicht, empfehle ich Ihnen, sich 15 Minuten Zeit zu nehmen, um sich den folgenden Screencast von UncleBob persönlich anzuhören
Quelle: Robert Martin - Versionskontrolle und Entwicklungsumgebung für Fitnesse

24voto

Joseph Anderson Punkte 2828

Wenn Sie Fitnesse mit Versionskontrolle verwenden, benötigen Sie nicht das Zip-Archiv für jede Revision. Verwenden Sie die Option -e 0, um zu verhindern, dass die Zip-Archive erstellt werden:

java -jar fitnesse.jar -p 8001 -e 0

3voto

Aur Saraf Punkte 2697

FitNesse speichert alte Revisionen jeder Seite in einer Zip-Datei im selben Verzeichnis wie die Dateien der Seite. Der Dateiname der Zip-Datei kennzeichnet den Zeitstempel der Revision. Es funktioniert ähnlich wie Wikipedia - Geschichte, aber nicht als vollwertige Versionskontrolle.

In unserem Unternehmen wollten wir eine Einrichtung, bei der wir jedes Mal, wenn wir eine (möglicherweise alte) Revision der Quelle auschecken, auch FitNesse-Tests auschecken, die für diese spezifische Version bestehen.

Deshalb haben wir FitNesse (das FitNesse-Verzeichnis, einschließlich der FitNesse-Ausführbaren und des FitNesseRoot-Verzeichnisses) innerhalb unseres Quellcodes im Versionskontrollsystem installiert und eine Regel festgelegt, um *.zip nicht im FitNesseRoot-Verzeichnis zu importieren (da wir ein Versionskontrollsystem haben, das die Historie für uns aufbewahrt und sie nicht benötigen).

Dies funktioniert hervorragend mit vernünftigen SCM-Systemen (ich habe svn mit svn-tortoise verwendet).

Als wir zur Quellcode-Verwaltung von Microsoft Foundation Server wechselten, hatten wir viele Probleme mit dem Checkout-Bearbeiten-Checkin-Workflow. Doch nochmals, dieser Workflow ist im Allgemeinen einfach eine schlechte Idee und sollte nur von verrückten Kontrollfreaks verwendet werden.

(Bearbeitung: Antwort auf die Frage des Kommentators)

2voto

Lee Punkte 464

Seit dem Release von Fitnesse 20090214 ist die CM-Integration enthalten, siehe Benutzerhandbuch für Details. http://fitnesse.org/FitNesse.UserGuide.SourceCodeControl

Das Git-Hub-Plugin ist in der Fitnesse-Distribution enthalten.

I habe ein Plug-in für Perforce unter http://code.google.com/p/perforcecmsystem/ gefunden, aber ich habe es noch nicht für mein Team eingerichtet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X