Wie sage ich (lokal) mercurial, dass ein Server nicht veröffentlicht wird?

8

Wie kann ich mercurial feststellen, dass ein Remote-Server (z. B. auf bitbucket ) nicht veröffentlicht wird, wenn ich keinen Zugriff auf das Remote% -Programm habe? co_de% Datei?

Hintergrund

Aktuelle Versionen von mercurial haben ein Konzept von Phasen , mit dem man verfolgen kann, welche Changesets geteilt wurden ( .hg/hgrc ) und welche nicht ( public ). Repository-Änderungsvorgänge wie draft sind in rebase changesets zulässig, nicht jedoch in draft changesets davon abhängen.

Das Verschieben von Changesets auf einen öffentlichen Server ändert standardmäßig ihre Phase in public , aber wenn der Server privat oder dediziert für Codeüberprüfungen ist (dh Personen sollten nicht in der Lage sein sollen, zu ziehen), dann drücken Sie auf "non-publishing "Server sollte die Phase nicht ändern.

Der dokumentierte Weg , mercurial zu sagen, dass der Server nicht-publishing ist, ist ein% co_de hinzuzufügen % Abschnitt zur public Datei auf dem Server :

%Vor%

Es scheint mir, dass es eine Möglichkeit geben sollte, eine Zeile in eine meiner lokalen [phases] -Dateien einzufügen, die besagt, dass ein bestimmter Server nicht veröffentlicht wird, aber ich kann keine Dokumentation finden, die das vorschlägt. Vielleicht könnte dieses Verhalten mit einem Haken angepasst werden?

Referenzen

mforbes 23.05.2012, 19:11
quelle

1 Antwort

3

Es gibt momentan keinen Weg dies zu tun und es sollte hoffentlich niemals passieren.

Hier ist warum:
Wenn Sie zulassen, dass das lokale Repository die Remote-Repository-Konfiguration überschreibt, machen Sie den gesamten Phasenmechanismus einfach unbrauchbar. Der Zweck der Phasen besteht darin, zu verhindern, dass Benutzer Aktionen ausführen, die den Synchronisierungsablauf "beschädigen" könnten.
Es liegt in der Verantwortung des Empfängers zu beschreiben, wie die empfangenen Änderungsmengen verwendet werden. Wenn Sie diese Logik invertieren, indem Sie dem Absender erlauben, diese Einstellungen zu überschreiben, wie können Sie dann sicherstellen, dass zwei Absender die gleiche Konfiguration verwenden? Wenn die Konfiguration unterschiedlich ist, welche sollte beibehalten werden? Wie sollten die Changesets auf dem Empfänger markiert sein?

Bis zu einem gewissen Grad wäre es dasselbe, als wäre ein lokales Repository in der Lage, Changesets ohne Autorisierung auf eine Remote zu übertragen, indem einfach die Remote-Konfiguration lokal überschrieben wird.

    
gizmo 25.05.2012, 11:28
quelle