Verwenden von Mercurials mq zum Verwalten lokaler Änderungen


1

Ich habe ein lokales Merkur-Repository mit einigen ortspezifischen Änderungen darin. Was ich tun möchte, ist ein paar Dateien so festzulegen, dass sie nicht bindbar sind, so dass sie nicht automatisch ausgeführt werden, wenn ich eine hg commit ohne Argumente mache.

Im Moment mache ich komplizierte Dinge mit und Wachen, um dies zu erreichen, drängen und knallen und Wachen auswählen, um zu verhindern, dass meine Änderungen (die in einen mq-Patch eingecheckt werden) begangen werden.

Gibt es eine einfachere Möglichkeit, dies zu tun? Ich habe es satt, die Hilfe für alle mq-Befehle jedes Mal zu lesen, wenn ich eine Änderung vornehmen möchte, die meine standortspezifischen Änderungen nicht enthält.

1

Ich weiß, dass Basar hat sich zurückstellen und Befehle zu Push-und Pop-Änderungen, die Sie nicht in einem Commit enthalten wollen. Ich denke, es ist ziemlich wahrscheinlich, dass Mercurial ähnliche Befehle hat.

  0

Vielen Dank! Genau das habe ich gebraucht. Hier ist ein Link zu der Erweiterung: http://www.selenic.com/mercurial/wiki/index.cgi/ShelveExtension 24 sep. 082008-09-24 02:36:31


2

Ich würde diese Dateien in .hgignore legen und eine "Beispiel" Form dieser Dateien festschreiben, damit sie leicht für eine neue Website neu erstellt werden können, wenn jemand Ihren Code auscheckt.

  0

Ich denke, das würde nur funktionieren, wenn ich die Kontrolle über das Upstream-Repository hätte. Das Hinzufügen zu .hgignore könnte trotzdem funktionieren ... Es ist aber immer noch nicht ideal. Vielleicht ist die Antwort, nur Skripte zu haben, die die betroffenen Dateien patchen und entpacken. 23 sep. 082008-09-23 23:01:36


0

Ich bin neugierig, warum Sie nicht eine andere Repo mit diesen spezifischen Änderungen ausgecheckt haben, und dann Transplant/Pull/Patch, wenn Sie Dinge aktualisieren müssen. Dann würden Sie hauptsächlich mit dem ursprünglichen Repo arbeiten und es ist nicht so, als würden Sie Platz verschwenden, da hg Links verwendet. Ich habe normalerweise zwei + Versionen ausgecheckt, damit ich an einigen Updates arbeiten kann, dann füge ich sie zusammen.