2010-03-20 8 views
5

Diese Frage bezieht sich auf Etikette und Open-Source-Projekte.Etikette: Version bump meine Gabel von Open Source-Projekt?

Ich habe eine Anwendung von Github gespalten und zwei neue Features hinzugefügt.

  1. Die erste Merkmal hat häufig anderswo Anfrage gewesen. Ich habe es hinzugefügt. Code & Umsetzung sind sauber (denke ich). Die zweite Funktion ist eher ein Hack. Es wird für andere nützlich sein, aber die Implementierung ist ein wenig dreckig in der Anwendung und mehr im Code. Ich brauche die Funktion, aber ich habe nicht die Fähigkeiten, um es richtig zu implementieren oder zu einem Niveau, das als wert betrachtet werden könnte, während auf das Hauptprojekt.

Wie sollte die Versionierung funktionieren? Höre ich einfach meine Versionsnummern auf und schiebe zu meinem Master-Zweig?

Es ist ärgerlich zu wissen, welche Version läuft, modifiziert oder original, da beide dieselbe Versionsnummer haben. Aber wird es verwirrend sein, wenn meine github-Seite Monate später dieselbe Versionsnummer hat wie das Original, aber beide sind eigentlich völlig verschieden. (Ich habe Pull-Anforderungen gemacht usw., aber das ist nicht der Rahmen meiner Frage.)

Das Projekt, das ich gegabelt haben benutzt Rubin Juwelier hat so eine Versionierung Format:

Bijouterie verfolgt die Version Ihres Projekt. Es wird davon ausgegangen, dass Sie eine Version im Format x.y.z verwenden werden.

x ist die 'Hauptversion', y ist die 'Nebenversion' und z ist die Patchversion.

Ist dieser Standard auch für andere Projekte/Sprachen? Sind meine Änderungen Patches?

Dank

Antwort

4

Dies kann nicht einfach beantwortet werden. Die Handhabung der Versionsnummer variiert zwischen Projekten und Ihren Zielen. Siehst du deine Gabel als vorübergehendes Problem? - Dann, in vielen Fällen (kann bei größeren Umschreibungen anders sein), werde ich die Versionsnummer nicht erhöhen, da es Aufgabe des Projektleiters ist.

Viele Versionierungsschemata erlauben es, die Versionsnummer auf etwas wie 1.2.3-ross zu erweitern, das Benutzern hilft, korrekte Fehlerberichte zu archivieren.

Wenn Sie einen länger laufenden Fork planen, sollten Sie ein Versionierungsschema finden, das für Sie funktioniert.

1

Verschiedene Teile der Software aus dem gleichen Code-Basis, aber mit unterschiedlichen Merkmalsinhalt sollten unterschiedliche Versionsnummern in irgendeiner Weise - so müssen Sie etwas in der Versionsnummer (oder Produktnamen) ändern.

Planen Sie, die erste Änderung an das Projekt zurückzugeben? (Sie sollten wahrscheinlich.)

Ist die zweite Funktion, der Hack, eine, die Sie im Laufe der Zeit verbessern werden? Sie können es auf Ihrem eigenen Entwicklungszweig behalten, so dass es einfacher ist, separat zu warten, während immer noch Updates vom Hauptprojekt importiert werden.

Oder planen Sie, auf Dauer vom Hauptprojekt getrennt zu bleiben? In diesem Fall sollten Sie erwägen, die Software umzubenennen und die Version zu ändern - oder irgendwie klarzustellen, dass die Version Ihnen gehört und nicht der ihren.

+0

ja ich eine Pull-Anforderung gesendet und erzählt der Autor, aber hörte nichts zurück. Ich werde die Entwicklung nicht weiterführen. Ich habe was ich will. (Auch nicht egoistisch, es gibt ein komplettes Umschreiben in verschiedenen Sprachen/Projektnamen, wo Feature zwei passieren wird. Bis jetzt ist es nicht stabil.) – Ross

1

Wenn Sie beabsichtigen zu forschen, dh niemals mit dem Upstream zusammenführen, dann überlegen Sie, Ihr Projekt umzubenennen.

Ansonsten ist es üblich, eine Versionsnummer zu verwenden, die den Zweig anzeigt, und sein RAN ChangeSet ala -git-ross-12345