2010-10-14 6 views
2

J'ai un serveur avec ssh, que je veux utiliser comme dépôt central. Cependant, je ne peux pas installer mercurial dessus. Par conséquent, comment les clients peuvent pousser sur le serveur sur SSH sans avoir installé Mercurial sur le serveur.Mercurial à distance sans installer Mercurial

Merci

Répondre

5

Vous ne devez pas installer Mercurial sur ce serveur. Si vous pouvez le monter, vous pouvez créer un référentiel régulier en fournissant le chemin vers "hg init" pour créer un référentiel sur ce serveur distant.

Une autre façon est sshfs. C'est un client de système de fichiers basé sur le protocole de transfert de fichiers SSH.

Donc, en utilisant ce que vous pourriez faire

sshfs hostname: mountpoint # mounts the file system 
hg init mountpoint # do your mercurial operation 
fusermount -u mountpoint # unmounts the file system 

Je ne l'ai pas fait cela, mais vous pourriez essayer.

1

Si le système local peut monter le référentiel distant en utilisant sshfs, cela fonctionnera. Sinon, vous n'avez pas de chance. :-(

3

Soyez conscient que vous pouvez probablement installer Mercurial sur le serveur même si vous pensez que vous ne pouvez pas. Si vous avez un système avec une architecture similaire, vous pouvez make local installer Mercurial droit dans son propre répertoire de distribution . et puis juste scp que sur le serveur

la seule différence dans ce cas est que si vous ne pouvez pas obtenir le résultat que vous @ il: mercurialCopiedIn/hg dans le $PATH alors vous aurez besoin d'utiliser l'argument --remotecmd sur vos pousses et tire pour dire quel binaire à utiliser