2013-11-15 3 views
1

지금은 시간이 봤하고 해결책을 찾기 위해 아직있다. postreceive에서 SQL Server 데이터베이스에 커밋의 자식 메시지를 넣을 GIT 훅을 작성하는 방법이 있습니까? 내가 뭘하고 싶은지 내 모든 커밋 내 데이터베이스에있는 테이블을 저장하고 비트 버킷 이슈 추적기처럼 커밋 메시지가 "가까운 문제 # 2"와 같은 경우 다른 테이블에서 문제를 마감하고 싶습니다. 당신은 당신의 SQL Server 데이터베이스를 업데이트하는 방법을 알고있는 스크립트가있는 경우GIT 후크 업데이트 된 T-SQL 데이터베이스는

+0

방법은,이 질문은 스택 오버플로에 적합하다 모르겠어요. 후크를 작성하기 위해 프로그래밍 언어를 선택 했습니까? 지금까지 무엇을 얻었습니까? 어떤 문제가 있습니까? –

+0

@ ÁlvaroG.Vicario 저는 GIT의 기본 훅에 대해서만 잘 알고 있습니다. 다른 프로그래밍 언어를 사용할 수 있다는 것을 알지 못했습니다. Windows 환경에서 실행 중입니다. 내가 직면 한 문제에 관해서는 문제가 나타내는 바에 따라 갈고리를 쓰는 방법을 모릅니다. – aaronmallen

답변

1

는 다음 각에 대한 로그 메시지가 위탁받은 수집 후 수신 후크를 작성하는 문제이다.

당신의 아이디어를 취할 수 있습니다

  • "git post-receive hook that grabs commit messages and posts back to URL".
    추출 :

    for revision in `git rev-parse --not $other_branches | git rev-list --stdin $revspec`; do 
        # I don't know if you need to url-escape the content 
        # Also you may want to transmit the data in a POST request, 
        wget "http://server.com/logthis.asp?msg=$(git log $revision~1..$revision)" 
    done 
    
  • campfire post-receive hook.
    추출 :

    text = `#{GIT} log --all --since='#{revtime}' --reverse` 
    
  • "fogbugz-git-integration", 그것은 특정 키워드를 찾고, 커밋 메시지를 구문 분석, 당신이 찾고있는 가까운 거리에 있습니다.
    추출 : 지금의

    git log $oldrev..$newrev --pretty=format:~~CommitSubject:%s%n~~CommitHash:%H%n~~EOR%n | while read logentry; 
        do 
        # Parse out the commit subject 
        if [ "${logentry:0:15}" == "~~CommitSubject" ]; then 
         ...