2012-05-10 24 views
6

Tôi tự hỏi liệu có ai có thể giải thích tại sao SmartGit không hoạt động khi tôi kết nối với máy chủ điều khiển nguồn thông qua SSH. GitBash hoạt động tốt.Cài đặt thư mục chủ Git/SmartGit SSH của Khách hàng

Bối cảnh:

Tôi đã có một máy chủ kiểm soát nguồn thiết lập trên mạng, chạy MSysGit với WinSSH như máy chủ SSH. Nó móc vào AD để giải quyết tên người dùng vv, và tôi đã nhập tất cả các khóa RSA công khai, vv Mọi thứ đều hoạt động.

Một đường cong-bóng cho chúng ta, là mặc dù Git được lắp đặt tại 'C: \ Program Files (x86) \ Git' mã nguồn thực tế của chúng tôi nằm ở 'C: \ Git', được hậu thuẫn lên thường xuyên.

Tôi đã định cấu hình WinSSH để đặt tất cả các phiên SSH mặc định thành 'C: \ Git' làm thư mục chính của chúng. Khi tôi sử dụng Git Bash để kết nối với máy chủ, nó mặc định là 'C: \ Git'. Hoàn hảo.

Khi tôi nhận được SmartGit (sử dụng SmartGit SSH Client) để kết nối với cùng một máy chủ, với url:

ssh://<server>/<folder>/<repo> 

tôi nhận được một lỗi nói rằng con đường ...

C:\Program Files (x86)\Git\<folder>\<repo> 

.. .does không phải là một kho lưu trữ. Vâng, vâng ... Cần tìm kiếm nó trong 'C: \ Git', không phải 'C: \ Program Files (x86) \ Git'. Tôi không chắc tại sao SmartGit không đặt tốt đẹp với thiết lập này, nhưng tôi cho rằng các thiết lập mặc định của WinSSH đang bị SSH client bỏ qua, vì nó chỉ định toàn bộ đường dẫn hoàn toàn từ 'C: \ Program Files (x86) \ Git '.

Câu hỏi của tôi:

Bất kỳ ý tưởng nơi SmartGit có thể nhận được 'C: \ Program Files (x86) \ Git' con đường từ đâu?

Đây có phải là biến mà tôi có thể đặt ở đâu đó không?

Tiếp tục thông tin (Cập nhật)

Các phiên bản của SmartGit là 3.0.4, tuy nhiên vấn đề này cũng đã có mặt trong 2.x.

Tôi có kèm theo những gì (Tôi khá chắc chắn) một thể hiện của sự thất bại trong việc áp dụng log SmartGit là:

1782732 (2012-05-10 12: 18: 56.653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - Thực hiện lệnh sau: "C: \ Program Files \ Git \ bin \ git.exe" ls-remote ssh: //initio-dev01/INIT/INIT.Framework.git refs/heads/

1782732 (2012-05-10 12: 18: 56,653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.thực thi - trong thư mục: null

1783049 (2012-05-10 12: 18: 56.970) [QThreadPoolThread-8 (smartgit.aqT)] INFO smartgit.server - nhận lệnh: ssh

1786438 (2012- 05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] THÔNG TIN smartgit.command.logging - stderr: gây tử vong: 'C:/Program Files (x86) /Git/INIT/INIT.Framework.git' dường như không phải là kho lưu trữ git

1786438 (2012-05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: 'C:/Program Files (x86) /Git/INIT/INIT.Framework.git 'dường như không phải là kho git

1786439 (2012-05-10 12: 19: 00,360) [Thread-29] ERROR smartgit.ssh.trilead - com.trilead.ssh2.transport.TransportManager: Nhận chủ đề: lỗi trong receiveLoop: socket đóng

1786763 (2012-05-10 12: 19: 00,684) [QThreadPoolThread-6 (smartgit.cR)] THÔNG TIN smartgit.command.logging - stderr: gây tử vong: Kết thúc từ xa treo lên bất ngờ

1786763 (2012-05- 10 12: 19: 00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: Kết thúc từ xa treo lên bất ngờ

1786772 (2012-05-10 12: 19: 00,693) [ QThreadPoolThread-2 (smartgit.KL)] WARN sg.command.ping - 'C:/Program Files (x86)/Git/I NIT/INIT.Framework.git 'dường như không phải là kho git Kết thúc từ xa bị treo bất ngờ smartgit.cn:' C:/Program Files (x86) /Git/INIT/INIT.Framework.git 'không xuất hiện như một kho git Sự kết thúc từ xa treo lên bất ngờ

tại smartgit.gG.a (SourceFile: 86)

tại smartgit.ga.a (SourceFile: 63)

tại smartgit.ga.a (SourceFile: 53)

tại smartgit.hA.a (SourceFile: 57)

tại smartgit.ahq.a (SourceFile: 26)

tại smartgit.ahl.a (SourceFile: 39)

tại smartgit.aL.a (SourceFile: 46)

tại smartgit.aD.a (SourceFile: 41)

tại smartgit.Kw.a (SourceFile: 144)

tại smartgit.KL.run (SourceFile: 34)

tại smartgit.Pp.run (SourceFile: 65)

+0

gì chính xác phiên bản của SmartGit bạn đang sử dụng? Thông báo lỗi/stacktrace tương ứng từ log.txt của SmartGit (trong thư mục cài đặt của SmartGit, xem phần Giới thiệu về hộp thoại) là gì? – mstrap

+0

Cảm ơn, tôi không biết về tệp nhật ký đó. Tôi đã cập nhật câu hỏi với một ví dụ về lỗi. Thật không may, tôi không nghĩ rằng nó tỏa sáng nhiều hơn nữa ... Bạn có thể thấy rằng nó đi vào địa chỉ từ xa với địa chỉ SSH, nhưng cố gắng để kéo từ C: \ Program Files (x86) \ nhưng đó là về nó. – Martaver

+0

Git-ssh.log trong thư mục cài đặt của SmartGit có chứa bất kỳ thông tin hữu ích nào không? Ngoài ra, thêm dòng "log4j.category.smartgit.ssh.client = DEBUG" vào logj4.properties và khởi động lại SmartGit. Điều này sẽ cung cấp cho đầu ra gỡ lỗi nhiều hơn cho kết nối SSH trong log.txt. Vui lòng đăng lại các dòng có liên quan "smartgit.ssh.client". – mstrap

Trả lời

1

Rất khó chịu với hardcoded con đường, mà có vẻ là vấn đề ở đây ?! Cho đến khi điều này được sửa trong một phiên bản sau, có thể bạn nên tạo một điểm giao tiếp thư mục hoặc liên kết tượng trưng để thay thế. Có thể là một giải pháp (nhanh chóng và bẩn) thay vì dành thời gian sửa chữa chương trình.

(phải được chạy trong một vỏ Administrator)

Đối với điểm giao nhau:

mklink /j "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder> 

Đối với liên kết tượng trưng:

mklink /d "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder> 
+0

Tuyệt vời, ý tưởng bên ngoài hộp và tôi đã xem xét nó. Cái ngắt cho tôi mặc dù là khi tôi hiểu nó, một điểm giao nhau sẽ chuyển hướng mọi thứ và không chỉ phiên git. – Martaver

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