2009-06-05 21 views
3

Ich habe ein Open-Source-Java-Projekt verwendet und musste einige benutzerdefinierte Änderungen für unsere Site vornehmen. Ich habe den Quellcode über Subversion heruntergeladen, zwei Dateien geändert und eine benutzerdefinierte JAR-Datei erstellt. Jetzt muss ich diese benutzerdefinierten Änderungen in unserem Subversion Quellcodeverwaltungssystem speichern. Was ist der beste Weg, dies zu tun?Best Practice für die Quellcodeverwaltung eines benutzerdefinierten Open Source-Projekts

Sollte ich die gesamte getaggte Version des Open-Source-Codes in unserem System überprüfen und dann einen Zweig mit unserer Änderung darin erstellen? Oder sollte ich einfach unsere benutzerdefinierten Dateien einchecken und sich darauf verlassen, dass die Open-Source-Version immer dabei ist? Oder vielleicht noch etwas ganz anderes?

Antwort

5

Werfen Sie einen Blick auf Subversion vendor branches, die für die "Wartung von benutzerdefinierten Änderungen an Drittanbieterdaten in Ihrem eigenen Versionskontrollsystem" gedacht sind. Das klingt genau wie du willst. Sie würden einen Herstellerzweig für das Open-Source-Java-Projekt in Ihrem Hauptrepo (von ihrer letzten SVN-Revision vor Ihren Änderungen) erstellen. Dann checken Sie Ihre Änderungen ein. Zukünftig können Sie Upstream-Änderungen zusammenführen.

+0

+1 Ich denke, du hast verstanden, was besser gefragt wurde als ich. Ich nahm an, dass es eine allgemeinere Frage war, wie man das Repository einrichtet. –

0

Das Subversion-Buch ist kostenlos und available online, mit einem Abschnitt gewidmet choosing a repository layout.

die Subversion-Gemeinschaft empfiehlt , dass Sie eine Repository-Position wählen für jedes Projekt wurzel des „oberste“ Verzeichnis, das Datum im Zusammenhang zu diesem enthält projekt und dann unter dieser Wurzel drei Verzeichnisse erstellen: Stamm , also das Verzeichnis unter , in dem die Hauptprojektentwicklung stattfindet; Zweige, die ein Verzeichnis sind, in dem verschiedene benannte Zweige der Hauptentwicklungslinie erstellt werden; und Tags, das ist eine Sammlung von Baumschnappschüsse, die erstellt werden, und vielleicht zerstört, aber nie geändert.

Ich freue mich, wenn Sie herausfinden, was genau das für Ihr Projekt bedeutet.

0

Erster Versuch, dies zu vermeiden, so lange wie möglich, wenn es möglich ist, versuchen Sie die Änderungen zu bekommen in das Open-Source-Projekt (weniger Arbeit für dich selbst in der Zukunft ...)

Aber wenn die war keine Option, ich würde Matthew Flaschen Beratung über Verkäufer Filialen folgen.

Verwandte Themen