2012-03-28 6 views
2

Ich habe Rhodecode (Mercurial-Server) auf einem Ubuntu-Rechner installiert. Ich habe das Repository-Verzeichnis während des Setups angegeben. Ich habe ein neues Repository mithilfe der Rhodecode-Webschnittstelle erstellt und konnte dieses leere Repository von einem anderen Computer kopieren. Ich habe ein paar Dateien hinzugefügt und meine Änderungen auf den Server übertragen. Ich kann sehen, dass der Push erfolgreich auf der Weboberfläche war und ich kann die Dateien auch auf der Weboberfläche sehen. Im Repository-Ordner auf dem Server befinden sich jedoch keine Dateien. Ist das normal? Sollten die Quelldateien nicht im Repository-Ordner des Servers angezeigt werden? Ich bin in der Lage zu klonen und Push-Änderungen und meine Änderungen werden verfolgt.Rhodecode Repository Files

Antwort

3

Das ist normal. Durch diesen Push werden die Änderungen im Repository des Servers vorgenommen, aber das Arbeitsverzeichnis des Servers wird nicht geändert. Wenn Sie die Dateien dort sehen möchten, tun Sie hg update tip, die besagt "das Arbeitsverzeichnis wie das letzte Changeset im Repository aussehen".

Das wird jedoch normalerweise nicht als eine gute Idee auf einem Server angesehen. Auf einem Server wollen Sie nicht, dass die Dateien hängen bleiben, weil Leute sie bearbeiten und nicht committen können. Verwenden Sie stattdessen Arbeitsverzeichnisse auf Computern, auf denen Sie Tests entwickeln und ausführen, und lassen Sie die Arbeitsverzeichnisse auf dem Server leer.

Wenn Sie jemals ein Repository in eine Situation, wo es Dateien im Arbeitsverzeichnis hat, können Sie zurück zu keine Dateien, aber tun hg update null, die sagt "gehen Sie zurück, wie die Dinge vor dem ersten Changeset".

Git hat etwas ähnliches wie ein "bare repository", aber diese haben auch eine andere Tiefe (die Sachen, die im Verzeichnis .git sind, ist stattdessen auf der obersten Ebene).

+0

Danke, das war das Problem. Rhodecode hat eine Einstellung - "Update Repository nach Push (hg update)", was in der Tat das tut, was Sie beschreiben. – yuben

+0

Gut zu wissen, danke. Es ist immer noch nicht ratsam. :) Halten Sie Ihre Server und Ihre Arbeitsverzeichnisse in den Boxen, in denen Leute die Testsuite laufen lassen können, bevor sie sich verpflichten. –