Wie wird das Mercurial-Repository von einem Remote-Server aus geklont?

1392
Viktor

Wie kann ich ein Mercurial-Repository klonen, wenn für SSH ein privater Schlüssel erforderlich ist?

Ich habe versucht zu folgen und es funktioniert nicht.

dukeimg@localhost:~/foo/test$ hg clone --ssh -i ~/keys/dukeimg ssh://username@example.com/www/bar/  abort: /home/dukeimg/keys/dukeimg: not a Mercurial bundle 
1
Und wie genau funktioniert das nicht? Bitte geben Sie alle Ausgaben an. Daniel B vor 7 Jahren 1

1 Antwort auf die Frage

3
Daniel B

Sie versuchen, eine sshBefehlszeilenoption ( -i) mit zu verwenden hg. Es wird nicht unterstützt. Da hgdiese Option nicht unterstützt wird, sucht das Repository nach Klonen ~/keys/dukeimg.

Es gibt drei mögliche Lösungen:

  1. Verwenden Sie den SSH-Schlüsselagenten.
  2. Stellen Sie Mercurial so ein, dass eine benutzerdefinierte SSH-Befehlszeile ( hgrc) verwendet wird:

    [ui] ssh = ssh -i ~/keys/dukeimg 
  3. Stellen Sie den SSH-Client so ein, dass er einen öffentlichen Schlüssel für Ihren Host verwendet ( ssh_config):

    Host example.com User my-ssh-user IdentityFile ~/keys/dukeimg 

Die Option --ssh/ -esoll folgendermaßen verwendet werden:

hg -e 'ssh -whatever -option' ...