2012-09-10 62 views
1

當使用git存儲庫鉤子時,如何使用SmartGit的內部SSH客戶端?在鉤子中使用SmartGit的SSH客戶端

當使用與scp操作掛鉤時,我收到一個Permission Denied: (publickey)錯誤。

當從存儲庫中提取時,SmartGit知道憑據,它們在Edit > Preferences > Commands > Authentication下列出。

我需要提交-MSG鉤,以產生變化-ID:在標籤提交其中(使用Mahara developer contribution guide設置)需要進行適當格里特起作用消息:

#!/bin/sh 
scp -p -P 29418 [email protected]:hooks/commit-msg .git/hooks/ 
+0

爲什麼你需要在你的hook中訪問SSH客戶端?它是什麼樣的鉤子? – mstrap

+0

@mstrap更新了OP,並闡明瞭設置和scp的推理。 – svandragt

+0

我也使用Gerrit(用於jgit項目),但我只需要*使用scp下載* commit-msg。掛鉤本身不需要在線連接到存儲庫。 – mstrap

回答

1

這是不可能的。當SmartGit調用Git二進制文件時,它僅爲其內部客戶端設置GIT_SSH環境變量,僅用於某些命令,如pushpull,但不包括commit。所以你必須手動配置你的SSH客戶端,如果你真的認爲你需要在提交時連接到遠程存儲庫(恕我直言不應該是必要的)。

+0

似乎沒有''''GIT_SSH'''環境變量(添加了''''''''''來查看它們的掛鉤) – svandragt

+0

對不起,實際上沒有設置提交。請看我更新的答案。 – mstrap