2010-03-25 4 views
1

Après avoir essayé de faire installer l'explorateur mercurial repository sur mon hébergement partagé sans succès, j'ai décidé d'écrire un module pour notre intranet qui servira d'explorateur de référentiel.Est-il possible de lire le référentiel Mercurial en utilisant PHP

Est-il possible pour moi d'obtenir des changesets à partir d'un référentiel Mercurial sans que Mercurial ne soit installé sur la machine?

Merci pour toute aide!

Metropolis

Répondre

4

Certainement, mais vous n'avez probablement pas besoin de le faire. Mercurial a un mode static-http:// où il vous permettra de cloner et tirer des repos qui sont simplement assis sur un serveur web disponible. C'est plus lent, mais ça fonctionne. Cela dit, les gens ont trouvé qu'avec suffisamment de travail, ils peuvent obtenir tous les systèmes d'hébergement mutualisés, sauf les plus restrictifs, qui servent hgwebdir.cgi.

+0

Génial, merci beaucoup pour votre aide Ry4an. Existe-t-il un moyen de tester si CGI fonctionne sur mon serveur? Et si je voulais toujours créer ma propre visionneuse de référentiel, comment pourrais-je lire les dossiers? Vous m'avez dit dans un de mes autres posts que je ne devrais pas servir les dossiers .hg directement dans le dossier CR, mais vous ne m'avez jamais dit pourquoi. – Metropolis

+1

Pour vérifier si vous pouvez exécuter des CGI, j'essaye de mettre en place un petit fichier .cgi et de mettre une ligne ScriptAlias ​​dans un fichier .htaccess et de vérifier. Votre fournisseur d'hébergement devrait être capable de dire. Pour ne pas paraître sarcastique, mais le format binaire mercurial est complexe et précis. Créer un navigateur sans le mercurial sur ce serveur est un énorme effort qui est presque certain d'échouer. Mettre le répertoire .hg dans votre DocumentRoot n'est pas dangereux, c'est juste qu'il active seulement le mode static-http: // qui est plus lent et moins efficace. Obtenez les CGI en cours d'exécution et gardez .hg dehors pour empêcher statique-http: // –

+0

Sur ce post http://stackoverflow.com/questions/2484151/how-to-setup-mercurial-central-repository-on-shared-hosting J'ai montré un fichier python CGI que j'ai essayé d'ajouter avec seulement l'en-tête et ça ne fonctionnait pas. J'ai aussi essayé ScriptAlias, et cela me donnait une erreur. Cela signifie-t-il que je ne peux pas exécuter de fichiers CGI sur ce serveur? Ou je dois faire autre chose? – Metropolis

Questions connexes