我已经用谷歌搜索了一个小时,但还没有找到解决方案。有没有办法编写一个 GIT 挂钩,将来自提交的 git 消息放入 postreceive 的 SQL Server 数据库中?我想做的是在我的数据库中存储一个包含我所有提交的表,就像 bitbuckets 问题跟踪器一样,如果提交消息类似于“关闭问题 #2”,我想关闭另一个表中的问题。
问问题
435 次
1 回答
1
如果您有一个知道如何更新您的 sql server 数据库的脚本,那么只需编写一个 post-receive 钩子来收集每个收到的提交的日志消息。
您可以在以下方面提出想法:
“ git post-receive 钩子,它抓取提交消息并回发到 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
营火后收钩。
提炼: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 ...
于 2013-11-18T19:40:40.417 回答