2015-01-06 14 views
1

Windows에서 msysgit을 HTTP를 통한 서버로 구성했습니다. 요청을 git-http-backened.exe으로 전달하도록 Apache 서버를 구성했습니다. 복제하고 원격 PC에서 서버로 푸시하려고 시도했을 때 모든 것이 완벽하게 작동했습니다. 그러나 post-receive 후크가 작동하지 않습니다. 내가 수동으로 스크립트를 실행하면HTTP를 통해 Windows에 힘내. post-receive hook 작동하지 않음

내가 추가 한

#!/bin/sh 
echo "Hook got triggered.." > c:/Repos/logs.txt 

을 포스트 - 수신, 나는 로그 인쇄하기를 참조하십시오.

하지만 원격 시스템에서 푸시하면 파일이 업데이트되고 있습니다. 푸시가 잘 작동하지만 로그가 인쇄되지 않아서 후크가 호출되지 않는 것처럼 보입니다. post-receive에 대한

권한

-rwxr-xr-x입니다 내 post-receive 내가 SSH를 통해 자식을 구성 할 때, 아무 문제없이 메일을 보내는 데 사용. HTTP를 통해 작동하도록 git을 변경 한 후 문제가 발생했습니다. 나는 단서가 없으며, 후크 작업을하기 위해 추가로 필요한 변경이 필요합니다.

+0

후크를 당신의 포스트받을 수 있습니까? 당신이 push하고있는 맨손의 repo'xxx.git'의'hooks' 폴더에 있습니까? – VonC

+0

xxx.git/.git/hooks 폴더에 있습니다. yea, xxx.git는 내가 어디로 향하고 있는지에 대한 레포입니다. – deepthi

답변

1

xxx.git/.git/hooks 폴더입니다. REPO (즉 .git로 끝나는 폴더 이름 지정 규칙 xxx.git/으로 표시된 바와 같이) 베어의 repo 인 경우, 다음 hooks/ 폴더 바로 아래에 있어야한다 : 작동하지 않을 것입니다

.

xxx.git/hooks 

그리고 Git 서버를 설정하면 해당 서버가 bare repos 만 관리하는 것이 좋습니다.
참조 :

+0

그랬지만 차이는 없습니다. 이전에는 내 repo가 ​​정상적인 repo 였으므로 xxx.git/.git/hook을 넣었습니다. 이제 나는 맨발의 레포로 테스트를했다. 두 가지 모두를위한 작품. – deepthi

+0

@deepika하지만 베어 레포일까요? (http://stackoverflow.com/a/1830712/6309) 그리고 후크 스크립트는 "post-receive"라는 확장명을 사용하지 않고 있습니까? (그래서'post-receive.sh' 나'post-receive.bat'가 아닌)? – VonC

+0

예, 이제는 맨손과 정상적인 레포 사이의 차이점을 알고 난 후에 확신합니다. 확장자가없는 경우에만 "수신 후"입니다. SSH를 통해 GIT에서 작동했던 것과 동일한 파일. 나는 HTTP 나 SSH가 후크 호출에 어떤 차이가 없을 것이라고 읽었다. – deepthi