提交 e5f5050e 编写于 作者: P Pat Notz 提交者: Junio C Hamano

Fix contrib/hooks/post-receive-email for new duplicate branch

In the show_new_revisions function, the original code:

  git rev-parse --not --branches | grep -v $(git rev-parse $refname) |

isn't quite right since one can create a new branch and push it
without any new commits.  In that case, two refs will have the same
sha1 but both would get filtered by the 'grep'.  In the end, we'll
show ALL the history which is not what we want.  Instead, we should
list the branches by name and remove the branch being updated and THEN
pass that list through rev-parse.

Revised as suggested by Jakub Narebski and Junio C Hamano to use
git-for-each-ref instead of git-branch.  (Thanks!)
Signed-off-by: NPat Notz <pknotz@sandia.gov>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 7b73d828
......@@ -615,7 +615,9 @@ show_new_revisions()
revspec=$oldrev..$newrev
fi
git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
other_branches=$(git for-each-ref --format='%(refname)' refs/heads/ |
grep -F -v $refname)
git rev-parse --not $other_branches |
if [ -z "$custom_showrev" ]
then
git rev-list --pretty --stdin $revspec
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册