2012-06-19 4 views
4

Windows 컴퓨터에서 맨손 (중앙) 리포지토리를 만들었습니다. 내 동료들과 나 자신이 이제이 저장소를 사용하고 있습니다. 업데이트 될 때마다 git에서 이메일 알림을 보내주기를 바랍니다. post-receive 후크에 스크립트를 작성하고 mailinglistemailprefix 속성을 구성해야한다는 것을 알고 있습니다. 그러나 내가 필요로하는 것은 윈도우 머신에서 메일을 보내는 스크립트 (post-receive에서)이다.Windows 용 수신 후 스크립트 (전자 메일 알림)

참고 : 여기에 비슷한 질문이 있습니다. 그러나 대답은 '무엇을해야합니까?'입니다. '하는 법'이 아닙니다. Can I have git send out an email with the post-receive-email scripts if my repo is on a Windows machine?

미리 감사드립니다.

답변

3

주식 후 수신 샘플 스크립트의 주석에 설명 된대로 처리 할 수 ​​있지만 Git for Windows는 sendmail이 아닌 msmtp를 제공합니다. 기여 스크립트를 contrib/hooks에서 포스트 - 수신 스크립트에 붙여 넣으면 몇 가지 변경 만하면됩니다. 첫째, smtp 서버를 지정해야하므로 sendemail.smtpserver 변수를 추가하고 서버 이름으로 설정하는 것이 좋습니다. 인증이 필요하다면 그 설정 변수를 찾아서 스크립트를 사용하여 인증을 받아야합니다. 이메일 스크립트에 붙여 넣은에서

-

send_mail() 
{ 
    if [ -n "$envelopesender" ]; then 
     msmtp --host="$smtpserver" -t -f "$envelopesender" 
    else 
     msmtp --host="$smtpserver" -t 
    fi 
} 

을 다음 그리고 마지막으로, 파일의 끝 부분 때문에 읽어 내기위한, 새로운 라인을 추가 자식 설정 변수에 읽는 부분이기 때문에 msmtp와 sendmail 교체 서버 값 : 장소에 두 변경

smtpserver=$(git config sendemail.smtpserver) 

이 스크립트는 푸시에 hooks.mailinglist 계정으로 메일을 보내는 나를 위해 잘 작동합니다.

+0

그레이트 !. 그게 내가 원하는거야. 그것은 나를 위해 잘 작동합니다. 고맙습니다. –