2010-12-13 29 views
60

Tôi đang gặp một số khó khăn nhân bản kho lưu trữ thủy ngân của tôi trên ssh.Nhân bản một kho lưu trữ Mercurial qua SSH

Dưới đây là những gì tôi đã cố gắng:

hg clone ssh://[email protected]/path/to/projectname projectname 

Nó đem lại cho tôi lỗi này:

remote: bash: hg: command not found 
abort: no suitable response from remote hg! 

hg được cài đặt trên máy chủ, tuy nhiên.

Tôi đang cố làm theo các hướng dẫn trên this website.

Trả lời

35

Âm thanh như hg không nằm trên đường dẫn của bạn. Câu hỏi thường gặp về Mercurial đề cập đến các bản sửa lỗi có thể cho vấn đề này: FAQ/CommonProblems.

Thêm giá trị remotecmd để cấu hình Mercurial của bạn bằng cách mở ~/.hgrc (hoặc Mercurial.ini trên Windows) trên máy tính của khách hàng của bạn và thêm những điều sau đây:

[ui] 
remotecmd = /path/to/hg 

nơi /path/to/hg là đường dẫn đến lệnh hg trên máy chủ từ xa .

Nếu gặp sự cố với cấu hình Mercurial, bạn có thể sử dụng lệnh hg showconfig --debug để có danh sách đầy đủ các cài đặt Mercurial cùng với đường dẫn và số dòng của tệp cấu hình xác định từng giá trị cấu hình.

+1

Tôi làm theo các hướng dẫn và bổ sung remotecmd = ~/bin/hg đến tập tin HGRC trong dự án của tôi và trong thư mục nhà của tôi, tuy nhiên nó không có vẻ để thấy rằng. Thêm --remotecmd vào lệnh được đưa ra trong câu hỏi hoạt động, tuy nhiên. Làm thế nào tôi có thể nhận được nó vì vậy tôi không phải gõ nó trong mỗi lần – Josh

+0

Đặt nó trong tập tin cấu hình '.hgrc' của bạn trong phần' [ui] '. Xem bình luận trong câu trả lời. –

+0

thú vị. Đây là những gì tôi đã làm, nhưng nó vẫn không hoạt động – Josh

4

Có vẻ như mercurial không nằm trong số PATH của người dùng trên máy chủ từ xa.

89

Bạn cần một // đôi sau hostname tức là .:

hg clone ssh://[email protected]//path/to/projectname projectname 
+7

lỗi và điều này cố định nó - cảm ơn. –

+0

thêm [ui] remotecmd =/path/to/hg cũng sử dụng chuỗi ở trên để kết nối – user749665

+0

Làm việc cho tôi. Cảm ơn! – Stephane

2

On webfactional tôi đã có thêm:

export PATH=$PATH:/home/<user>/bin 

để .bashrc để làm cho nó làm việc. (cũng theo lời khuyên remotecmd trên)

+0

Thêm 'remotecmd' vào một địa phương' .hgrc' đã khắc phục sự cố đường dẫn. Tuy nhiên, trong thiết lập đặc biệt của tôi 'remotecmd' đã giới thiệu một lỗi khác:' remote: conq: cú pháp lệnh không hợp lệ'. Chỉ cần thêm giá trị PATH vào '.bashrc' (trên webfaction) là đủ và thực sự giải quyết mọi vấn đề cho tôi. – Paolo

0

Trên máy chủ, gõ: nano ~/.bashrc cuối chỉnh sửa các tập tin bằng cách thêm:

# User specific aliases and functions 
export PATH=$PATH:$HOME/packages/mercurial 

Theo giả định rằng ~/packages là thư mục mà lanh lợi đã được cài đặt. Sau khi chỉnh sửa, hãy kết thúc bằng source ~/.bashrc và thử lại.

Khá hữu ích cho tôi là sau công phu guide to install mercurial on a Bluehost hosting server.

Các vấn đề liên quan