Joonas' Note

Joonas' Note

git hook 설정할 때 scp connection 오류 해결법 본문

개발

git hook 설정할 때 scp connection 오류 해결법

2024. 9. 12. 19:55 joonas

    gerrit 을 사용한다면 git clone 후에 scp 로 훅을 아래와 같이 설정할 것이다.

    $ scp -p -P 29418 username@gerrit.example.com:hooks/commit-msg .git/hooks

    참고로 29418번 포트는 gerrit 포트 기본값이다.

     

    Gerrit Code Review - Uploading Changes

    As Gerrit implements the entire SSH and Git server stack within its own process space, Gerrit maintains complete control over how the repository is updated, and what responses are sent to the git push client invoked by the end-user, or by repo upload. This

    gerrit-review.googlesource.com

    이유는 모르겠으나 최근 들어서 아래와 같은 오류가 계속 발생한다.

    Cloning into 'MyRepo'...
    remote: Total 5216 (delta 0), reused 5216 (delta 0)
    Receiving objects: 100% (5216/5216), 453.29 MiB | 30.66 MiB/s, done.
    Resolving deltas: 100% (1773/1773), done.
    Updating files: 100% (271/271), done.
    subsystem request failed on channel 0
    scp: Connection closed

    예전에 Stackoverflow 에서 해결 방법을 찾았는데, 출처는 기억이 안나지만 메모할 겸 글로 남긴다.

    SFTP 프로토콜이 아닌 SCP 프로토콜을 사용하도록, 대문자 O 옵션을 추가하면 해결된다.

     

    scp(1) - Linux manual page

     

    man7.org

    $ scp -O -p -P 29418 username@gerrit.example.com:hooks/commit-msg .git/hooks/
    commit-msg                                          100% 1790   378.4KB/s   00:00

     

    Comments