Ich habe überall nach anständigen Anweisungen gesucht, wie man hgweb mit IIS zum Laufen bringt, aber ich habe nicht viel Wert gefunden.
Es gibt dieses "Schritt für Schritt" im Mercurial-Wiki, aber es ist nicht sehr gut. Es gibt auch dies und das , aber ich kann auch hier keine guten Schritte finden, um dorthin zu gelangen, wo diese anfangen.
Antworten:
Ich musste gestern nur eine neue Mercurial-Instanz installieren. Hier sind die aktualisierten Anweisungen für 1.7:
hg clone https://www.mercurial-scm.org/repo/hg/
Erstellen Sie einen Ordner, der Ihr Webanwendungsordner sein wird. Sie müssen drei Dinge in diesen Ordner kopieren:
Sie müssen sicherstellen, dass Python in IIS eingerichtet ist.
Sie müssen auch eine Datei mit dem Namen "hgweb.config" mit ähnlichen Inhalten wie unten erstellen. Der Pfad in der Datei muss der Speicherort auf Ihrem Laufwerk sein, an dem Sie die Mercurial-Repositorys speichern möchten:
[Sammlungen]
c: \ Mercurial \ repos = c: \ Mercurial \ repos
Bearbeiten Sie die Datei hgweb.cgi und ändern Sie die Zeile, in der der Pfad zu Ihrer Datei hgweb.config festgelegt wird, wie folgt (unabhängig davon, wo sich die Datei hgweb.config befindet):
config = "C: \ Mercurial \ hgweb.config"
Schauen Sie sich auch den Blog-Beitrag von Jeremy Skinners an . Es ist etwas veraltet, hat aber einige besonders nette Schritte wie das Einrichten des erneuten Schreibens von URLs für sauberere URLs.
quelle
maxAllowedContentLength
undmaxRequestLength
aber weder scheinen eine Wirkung zu haben!Es scheint, dass diese Tutorials seit der Veröffentlichung von Mercurial 1.5.2 nicht genau richtig funktionieren. Zum einen wurde hgwebdir.cgi entfernt und jetzt durch hgweb.cgi ersetzt.
Die Anweisungen, die für mich am besten funktionierten, finden Sie auf eworldui.net :
http://www.eworldui.net/blog/post/2010/04/08/Setting-up-Mercurial-server-in-IIS7-using-a-ISAPI-module.aspx
Diese Anweisungen sind für IIS 7 oder höher gedacht. Wenn Sie dies auf IIS 6 einrichten, habe ich ähnliche Anweisungen für Win2k3 und IIS 6.0 geschrieben:
http://partialclass.blogspot.com/2010/05/setting-up-mercurial-server-on-win2k3.html
UPDATE: Kurz nachdem dies funktioniert hatte, erfuhr ich, dass BitBucket sein Preisschema geändert hat, um kostenloses, unbegrenztes, privates Hosting anzubieten: https://bitbucket.org/ . Ich hätte mich sofort dafür entschieden, als ich ursprünglich an diesem Projekt arbeitete.
quelle
Ich fand, dass der Blog-Beitrag bei Vampire Basic ein guter Anfang war, aber er ging nicht annähernd genug ins Detail für das, wonach ich suchte.
Ich habe einen 4-teiligen Blog-Beitrag dazu verfasst, in dem Sie mit IIS von Grund auf neu arbeiten können, einschließlich Active Directory-Integration, Einrichten von Sicherheitsberechtigungen für Push / Pull, Anpassen der Vorlage. Ich würde ihn hier reproduzieren, aber es ist ziemlich Es war langwierig, dass Mercurial wirklich für das Hosting unter Linux / Apache entwickelt wurde:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
quelle
Hier finden Sie ein ziemlich gutes und umfassendes Tutorial: http://vampirebasic.blogspot.com/2009/06/running-mercurial-on-windows.html
quelle
Im Folgenden ist aufgeführt, was ich getan habe, nachdem ich einige Nachforschungen angestellt hatte, um das Setup von hgwebdir.cgi auf IIS6 zu erhalten. Es basiert auf folgenden Websites:
Sie müssen Folgendes auf dem Server installieren:
Die Schritte für mich waren:
Jetzt ist ein guter Zeitpunkt, um zu testen, ob Python funktioniert. Erstellen Sie eine Datei in Ihrem neuen Hg-Ordner mit dem Namen test.cgi. Fügen Sie den folgenden Python-Code ein:
Öffnen Sie den Browser für Ihre Site, z. B. http: //localhost/hg/test.cgi
Sie sollten sehen "Es funktioniert!" im Browser.
Als nächstes bringen wir das hgwebdir zum Laufen.
https://www.mercurial-scm.org/repo/hg/
zu
Jetzt ist ein guter Zeitpunkt, um es auszuprobieren. Gehen Sie im Browser zur folgenden URL : http: //localhost/hg/hgwebdir.cgi
Dies sind alle meine Einstellungen, zum Beispiel haben wir unsere Repos in Unterverzeichnissen unter \\ server \ share $ \ Hg. Die Web-App wird unter den Berechtigungen des angemeldeten Benutzers über den Browser ausgeführt, sodass er Lese- / Schreibberechtigungen für die Freigabe benötigt.
Der letzte Schritt besteht darin, lange Verbindungen zuzulassen, die beim ersten Klonen eines Repos auftreten können. Führen Sie den folgenden Befehl aus, um das Zeitlimit auf 50 Minuten zu erhöhen:
quelle
Verwenden Sie mercurial, um das mercurial-Repository zu klonen:
Sie finden hgwebdir.cgi auf der obersten Ebene. Es sollte wie jedes andere CGI-Skript installiert werden.
quelle
Ich habe in der letzten Woche mit diesem Setup für mercurial 1.7.2 gekämpft. Ich musste die Dinge etwas anders machen als in den obigen Artikeln, damit es funktioniert.
Hier posten, weil Google mich immer wieder hierher zurückgebracht hat ....
Vollständige Anweisungen finden Sie hier
Ich folgte einer Kombination dieser Anweisungen und dieser (in der Quelle)
Die Hauptunterschiede sind, dass ich die "reine Python" -Installation von mercurial durchführen musste, sonst würde es sich über fehlende DLLs beschweren, und ich fand es wichtig, die "Python-Installer" für pywin und isapi-wsgi zu verwenden. (Vielleicht ist dies für erfahrene Python-Entwickler offensichtlich, aber ich bin ein Python-Neuling, also waren es Neuigkeiten für mich)
Hoffe, das hilft jemandem und ich erfinde nicht nur Sachen (ich könnte, wie gesagt, Python-Neuling sein)
quelle
Das hg rote Buch enthält einige viel bessere allgemeine Anweisungen als ich an anderen Orten gesehen habe. Sie sind nicht IIS-spezifisch, aber sie sind ziemlich gut:
http://hgbook.red-bean.com/read/collaborating-with-other-people.html#sec:collab:cgi
quelle
Ich hatte den Fehler "... Modul kann nicht geladen werden ..." und nach einigem Lesen bestand der Schlüssel für mich darin, die Datei Library.zip im Ordner Mercurial zu ignorieren und stattdessen die Datei aus C: \ zu verwenden Ordner "Programme (x86) \ TortoiseHg".
Diesen Tipp habe ich in diesem Handbuch als Nummer 6 gefunden:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Hoffe das hilft jemandem ...
quelle
Sie können HgLab ausprobieren . Dies ist nicht gerade hgwebdir; Vielmehr handelt es sich um eine rein verwaltete Mercurial-Implementierung mit Push- und Pull-Server und Repository-Browser.
quelle