2010-11-22 6 views
1

Wir haben einen Testserver, bei dem jeder Entwickler seine eigene Sandbox hat. Tatsächlich ist unser Web-Projekt so riesig, dass wir es Entwicklern nicht erlauben, alles selbst in der Sandbox zu bearbeiten. Beispielsweise gibt es einige Kennwortdateien von einigen anderen Webdiensten, für die Entwickler keine Berechtigungen haben. Wie auch immer, die Sache ist, wir können es Entwicklern nicht erlauben, ganze Projekte für die Entwicklung auf ihren eigenen PC zu klonen. Wir wollen also remote arbeiten.Mercurial: Windows-Client für die Fernentwicklung

Welcher Windows-Client unterstützt REMOTE-Merkur-Repository-Erkundung? Ich weiß, dass tortoiseHG das nicht kann. Ich habe versucht, das Projektverzeichnis mit sftpdrive-Software zu mounten, aber tortoiseHG erstarrte, nachdem ich versucht hatte, "Repository zu erkunden" (wahrscheinlich wegen der geringen Bandbreite im Büro).

Bitte, gibt es einen Mercurial GUI Client für Windows, der über sftp funktionieren kann?

+0

'Anyway die Sache ist, wir können nicht zulassen, klonen ganzen Projekt zu eigenen PC für die Entwicklung. Wir wollen also remote arbeiten. " Warum bestehen Sie dann darauf, DVCS zu verwenden, das nicht für eine solche Konfiguration geeignet ist? Außerdem gibt es wirklich nur einen Windows-Client, TortoiseHg umgeht ihn nur. –

+0

"das kann über sftp arbeiten" --- sftp ist sehr langsames Protokoll für eine große Anzahl von Dateien. Also, wenn es existiert (aber ich glaube, es gibt keine) - es wird so langsam wie im sftpdrive-Verzeichnis bereitgestellt. – zerkms

+0

was ist mit einer Webanwendung wie TortoiseHG? – holms

Antwort

1

Es gibt keinen solchen Client. Und ich glaube nicht, dass es jemals existieren wird. List of clients.

Wenn Ihr Webprojekt tatsächlich ein Web-Multiprojekt mit freigegebenen Ressourcen ist, können Sie Ihr Repository in Unter-Repositories (subrepo) aufteilen und die Berechtigung auf Unter-Repository-Ebene anpassen.

EDIT über Kommentare:

, wenn die einzige Umgebung, in der alle Dinge Ressourcen (Geräte, Passwort-Dateien, ...) werden nur auf dem Server erfüllt, können Sie nicht die lokale Entwicklung auf Ihrem Computer machen kann. Entweder Sie refaktorieren Ihren Code und enthalten Mocks für nicht vorhandene Ressourcen, so dass sich der Computer Ihrer Entwickler wie der Server verhält oder Sie weiterhin Sandboxes auf Servern verwenden und Skripts auf dem Server erstellen, die Änderungen aus einem Staging-Repository abrufen.

+0

irgendwelche Vorschläge, wie Remote-Entwicklung mit Mercurial zu tun? zum beispiel: es gibt sftp verbindung, ich arbeite auf osx zu hause, ich kann apache/mysql/php nicht auf meinem mac starten (es gibt tonnenweise gründe für diese auseinander-ressourcen, einige geräte, die mit server verbunden sind usw.) . etwas sehr einzigartiges, das Sie nicht zu Hause haben können) Mein Manager möchte Änderungen der Testversion auf einer Domain wie test.mycompany.com sehen. Frage: Wie man MERCURIAL REPO APART SSH verwaltet ?? – holms

+0

Die einzige Lösung, über die ich nachdenken kann, ist, einen Editor zu haben, der Dateien zwischen sftp und lokalem Laufwerk synchronisiert. dann haben wir Repos: eins ist in sftp, und anderes ist in lokalem Laufwerk. Also einfach mercurial auf lokalem Laufwerk verwalten, und dann mit sftp-Dateien (speziell .hg-Ordner) – holms

3

Sie sollten Ihre Web-App in mehrere Repositorys zerlegen und den Entwicklern nur Lese-/Schreibzugriff gewähren (über Klonen, Push und nicht irgendein Nonsense-File-Xfer-Protokoll). Etwas wie:

/webapp (top level repository) 
    | 
    +---- secret stuff here 
    | 
    +---- more secret stuff here 
    | 
    +---- developer-okay-code-only-repo 

Wo/Webapp das ganze System in Revisionskontrolle, und es hat viele Dateien darin, dass Entwickler nicht zugreifen können, und dann hat innerhalb in einem subrepo, dass die Entwickler klonen und ziehen aus (und vielleicht Push-to).

+0

+1 für Subrepos synchronisieren. Sie rocken. – Macke

+0

ok geheimen Zeug wird nicht in Programmierer PC ankommen, wie er die Anwendung testen wird ?????Sie werden Tonnen von Fehlern haben, weil diese Dateien nicht existieren. In diesem Szenario geht es auch um langsame PC/Laptops mit beschissenen Fenstern, wo sie keine Gehirne haben, um WAMP für sie selbst zu konfigurieren ... – holms

+0

Sie testen, indem sie ihre modifizierte Repo zurück zu einem ** persönlichen Klon ** auf dem kombinierten Server, wo etwas wie Hudson (oder irgendein kontinuierliches Integrationswerkzeug, das du magst) den Build erstellt und ihren privaten Klon auf einem Benutzerport ausführt. –