Mercurials HGweb auf Apache WebServer unter Windows

prototype0815

Cadet 2nd Year
Registriert
Jan. 2014
Beiträge
31
gefragt ist eine Web Oberfläche um sich die Repositories anzuschauen.

ich hab 2 tutorials gemacht, aber leider ohne Erfolg, diese waren es -->
http://blog.riverside-software.fr/2011/02/quick-and-easy-setup-of-mercurial.html
http://www.codediver.de/allgemein/e...gweb-und-tortoisehg-unter-windows-und-apache/

bei letzterem hatte ich gar kein erfolg, da hat mein Interpreter irgendwie gar nix gemacht.
bei erstem tutorial läuft schon einiges mehr...
was ich installiert habe ist:

python 2.7.3
mercurial 2.4.2 (python mod)
apache 2.2


desweiteren aus vorgehenden versuchen:

python 3.3
mercurial als stand alone 2.8.2
tortoiseHG 2.10

die Fehlermeldung die mir sorgen bereitet seht ihr hier:
800331-PIC.png
800332-PIC.png

ich würde mich sehr freuen wenn ihr mir mal wieder aus der klemme helfen könnt.

Vielen Dank schon mal
 
Probier mal den SCM Manager aus. Ist zwar Java basierend, aber dafür quasi Stand-alone einsetzbar und läuft auf jeder Plattform.
 
SCM Manager ist echt ein super Programm! ausser man nutzt den InternetExplorer, der löst das Script des SCM Managers irgendwie nur in Zeitlupe auf :-p
 
InternetExplorer? Ich denke nicht, dass dieser Browser ein Maß für die Entwickler war/ist ;)
 
das kann schon sein, allerdings ist der Browser eben auf jeder Windows Kiste in unserer Firma eben drauf, und oft haben die User keine Berechtigung einen anderen zu installieren. Das ist aber nicht weiter schlimm.
Nutzt du selbst auch den scm-manager?

ich hab nämlich ein großes Problem damit. Ich hab Mercurial und Git und noch andere Versionsverwaltungssysteme installiert und getestet, in der engeren Auswahl stehen nur noch Mercurial und Git. Diese haben soweit auch sehr gut mit dem scm-manager funktioniert, aber nach einiger Zeit habe ich mal den Zugriff und die Verwaltung von Mercurial Repositories mit mehreren Usern simuliert. (Also ein Zentrales Repository erstellt auf das alle User pushen, und davon ihre lokalen Repositorys klonen.)

  1. Zentrales Repo mit 1 geklonten UserRepo, funktioniert alles (commiten,pushen,pullen,...)
  2. Zentrales Repo mit 2 geklonten UserRepo, funktioniert alles (commiten,pushen,pullen,mergen,....)

    -------------- alle Repositorys gelöscht und scm-manager installiert

  3. Zentrales Repo mit 1 geklonten UserRepo, funktioniert alles auch nun mit scm-manager
  4. Zentrales Repo mit 2 geklonten UserRepo, nun bekomme ich den Fehler "pretxnchangegroup.smc hook is invalid". aber erst seit ich den 2. User simuliere indem ich das Zentrale Repo geklont habe und dort Änderungen mache. Aber dies auch erst seit ich den scm-manager drauf habe. Davor ging das tadellos.

irgendeine Idee?
 
Ich hatte den SCM Manager für über einem Jahr mit mehreren Usern unter Mercurial am laufen. Aber der von dir beschriebene Fehler ist mir neu.
Ich würde einfach alles platt machen und es nochmal frisch und sauber neu probieren... Habe öftern Probleme mit HG und GIT gehabt, weil beide durch ihre Wurzeln in Python/Linux eher fremd unter Windows wirken...

Mitlerweile empfehle ich daher (sofern euch die Rechte zum Installieren gewährt werden), Atlasian SourceTree als GUI für Mercurial und GIT zu verwenden. Es ist
* kostenfrei
* einfach zu verwenden/lernen
* lässt einen beide Versionierungstools homogen verwenden
* kann zu 95% alles, was man auch in der Konsole machen könnte

Durch das Tool konnte ich Fehler beim Clonen, Mergen/Rebasen, Branchen und vor allem Revert/Resetten mitlerweiler komplett vermeiden. Für mich als HG Anhänger wurde durch das Tool GIT endlich verständlich und muss sogar sagen, dass ich GIT schon HG vorziehe. Primär durch die bessere 3rd Party Tool Unterstützung.
SourceTree gibts für Mac und Windows und wird ständig weiterentwickelt... Stammt ja auch von den Machern/Hostern von Jira, Confluence und BitBucket ^^
 
klasse, dann werde ich das gleich mal ausprobieren ;-) danke

und auf jeden fall mal alles platt machen und nochmal neu alles mit scm manager ausprobieren... denn das tool war wiklich einfach und macht genau das was man will
Ergänzung ()

gibts ja nur für win7 :-/ schade, wir bekommen im Unternehmen erst in nem viertel jahr win7 rechner....

nach der deinstallation der kompletten Versionsverwaltungssysteme und des sc-managers hab ich alleine Mercurial 2.8.2 und TortoiseHG 2.10 installiert und nochmals getestet. Alles einwandfrei, dann den scm-manager drauf gemacht - Konfigurationsassi bei den "Mercurial Repository Konfigurations" angeschmissen - herunterladen und installieren - das neuste Mercurial package ausgewahlt (HG 2.6.2 und PY 2.7.5) und LOS! er installiert und ich ändere danach noch meinen Pfad für meine Repositories ab. So weit alles ok, er zeigt alle Repos an und ich kann alle möglichen Sachen damit machen, browsen, branches anschauen, commits anschauen, downloaden, usw....Nur ab diesem Zeitpunkt geht folgendes nicht mehr, ich kann wie oben schon gepostet, nicht mehr mit mehreren Usern auf das Zentrale Repo pushen, weil dann dieser komische Fehler kommt.
 
Zuletzt bearbeitet:
@SourceTree: Ok, mir war nicht bewusst, dass das Ding erst ab Win 7 geht... Sorry :(

@SCM-Manager: Ich kann dir nur Googlen und ggf. bei denen im Ticketsystem mal suchen/posten empfehlen. Kenne mich nicht gut genug aus um Hilfestellung leisten zu können :/
 
macht nix, trotzdem danke
Ergänzung ()

also das HgWeb nach dieser Anleitung ...
#####_____http://blog.riverside-software.fr/20...mercurial.html_____#####
funktioniert nun. Dennoch habe ich das Problem das meine Repositories nicht gelistet werden.

hier meine hgweb.cgi
Code:
#!C:\Python26\python.exe -u

# See also http://mercurial.selenic.com/wiki/PublishingRepositories
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "C:\Programme\Apache Software Foundation\Apache2.2\cgi-bin\hgweb.config"

# Uncomment and adjust if Mercurial is not installed system-wide:
# import sys 
#sys.path.insert(0, "SomeDirectory")
#import cgi

# Uncomment to send python tracebacks to the browser if an error occurs:
import cgitb; cgitb.enable()

from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb(config)
wsgicgi.launch(application)

und meine hgweb.config
Code:
[paths]
/centralProjects = Y:\ZentralMercurial\*
/localProjects = D:\lokalRepMercurial\*
/testProjects = ..\..\..\..\testProjects\.hg\*

[web]
allow_push = *
#style = paper
#style = coal
style = monoblue
contact = mercurial@riverside-software.fr
push_ssl = false

es hat den anschein das es nicht möglich ist Laufwerksübergreifend Repositories anzuzeigen. Ich hab in einigen Anleitungen gesehen das man "Relative Pfade" verwenden muss und zwar ausgehen von dem Ordner in dem die hgweb.config liegt. In meinem Fall ist das C:\Programme\Apache Software Foundation\Apache2.2\cgi-bin Ich habe aber auch schon "Absolute Pfade" versucht, leider ohne Erfolg.

Vielleicht hat jemand schon Erfahrungen damit...
 
Zuletzt bearbeitet:
du sagtest du hattest ihn am laufen...weist du zufällig noch welche Mercurial Version die User benutzt haben?
 
Ich hatte glaube ich HG 2.2/2.3 am laufen, sprich das was Ende 2011/Mitte 2012 aktuell war. Dabei habe ich HG vom scm manager installieren lassen.

Beim ganzen aufsetzen hatte ich nur einmal nen Fehler bei der Ausführung gehabt: Sobald ich im SCM Manager die Option "Python Optimazation" o.Ä. angeschaltet habe, flog HG auseinander.
Schau mal, ob so eine Option vlt. an ist und schalte sie aus.
 
Zurück
Oben