Nein, das ist nicht möglich: Die einzigen "Befehle", die Sie über SSH (und HTTPS) senden können, sind hg push
und hg pull
.
Sie werden nicht wirklich als "Befehle" gesendet. Stattdessen verwendet Mercurial ein eigenes Protokoll, das es einem Client ermöglicht, einen Remote-Server nach einigen Dingen zu fragen, wie "Haben Sie diese Änderungsmenge?", "Was sind die Zweigköpfe?" Und msgstr "Bitte akzeptieren Sie dieses Bundle!"
Wenn Sie SSH verwenden, erstellt Ihr Mercurial-Client einen SSH-Tunnel und startet hg serve --stdio
auf dem Remote-Host. Dieser hg serve
Befehl spricht das Mercurial-Drahtprotokoll an, über das ich oben spreche. Hosting-Umgebungen wie Bitbucket sind gesperrt, sodass dies der einzige Befehl ist, den Sie über SSH ausführen können. Sie möchten nicht, dass Sie beliebige Befehle auf ihren Servern ausführen!
Zum Verwalten eines Remote-Repositorys auf Ihrem eigenen Webserver: Sie müssen sich mit SSH anmelden und ein leeres Repository auf Ihrem Unix-Server erstellen:
$ hg init my-website
Dann können Sie von Ihrem lokalen Computer aus auf den Server pushen:
$ hg push ssh://your-server.com/path/from/home-dir/to/my-website
Da Sie über das Verwalten einer Website sprechen, möchten Sie möglicherweise hinzufügen
[hooks] changegroup = hg update
in die .hg/hgrc
Datei im Remote-Repository: Mercurial wird hg update
nach jedem Push in dieses Repository ausgeführt. Dies bedeutet, dass die Arbeitskopie mit den neuesten Dateien aktualisiert wird, sodass Ihr Webserver diese der Welt zur Verfügung stellen kann.