2016-03-19 6 views
0

Angenommen, ich erweitern einige Projekt gehostet bitbucket mit mehrere Features (von mercurial verwaltet).VCS: Verwaltung mehrerer Feature Pull-Anforderungen

Wenn ich die Funktionen übereinander aufbaue (lineare lokale Geschichte) habe ich eine lokale Codebasis, die alle Funktionen hat, die ich brauche, aber der Betreuer des Pakets kann nicht die Funktionen auswählen, die er mag. (Weil sie aufeinander aufbauen.)

Wenn ich jedes Feature in einem separaten Zweig basierend auf dem Ursprungs-Master aufbaute, sind alle Feature-PRs voneinander unabhängig (der Maintainer kann auswählen und auswählen), aber ich nicht mehr eine einheitliche lokale Code-Basis mit all meinen erforderlichen Funktionen.

Wie löst man dieses Problem? Mit Patch-Warteschlangen? Wenn das so ist, wie?

Antwort

1

Ich würde für beide tatsächlich gehen: Erstellen Sie eine separate Feature-Zweig (anonyme Köpfe, vielleicht mit einem Lesezeichen benannt) und ziehen Sie die Anforderung für jede Funktion.

Zusätzlich zu Ihrem eigenen Vorteile, und vielleicht auch für andere, sie schnell zu überprüfen, diese in Ihren Hauptentwicklungszweig, Ihre Hauptleitung zusammenführen.

Im Prinzip hat mercurial das System von Phasen und erlaubt nicht-publizierende Repositories, was es erlaubt, einen Entwurfshistorie zu behalten und es einfacher macht Updates zu machen - aber das ist afaik etwas was bitbucket noch nicht (vollständig?) Unterstützt.

+0

Danke für den Rat. Hat es einen Vorteil, die Features in die Hauptlinie zu integrieren, anstatt die Features auf die Hauptlinie zu übertragen (wobei natürlich die ursprünglichen Feature-Changesets beibehalten werden)? Zu einem separaten Thema: Warum werden nicht alle Repositories nicht veröffentlicht? Gibt es irgendwelche Fehler bei der Verwendung von nicht öffentlich zugänglichen Repos, die öffentlich zugänglich sind? – ARF