Skip to content

Commit

Permalink
contrib/hooks/post-receive-email: Put rev display in separate function
Browse files Browse the repository at this point in the history
The display of a revision in an email-appropriate format is done in
two places with similar code.  In preparation for making that display
more complex, move it into a separate function that handles both cases.

Signed-off-by: Pete Harlan <pgit@pcharlan.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Pete Harlan authored and Junio C Hamano committed Nov 4, 2008
1 parent b1a46b7 commit 4471649
Showing 1 changed file with 32 additions and 9 deletions.
41 changes: 32 additions & 9 deletions contrib/hooks/post-receive-email
Original file line number Diff line number Diff line change
Expand Up @@ -224,13 +224,7 @@ generate_create_branch_email()
echo ""

echo $LOGBEGIN
# This shows all log entries that are not already covered by
# another ref - i.e. commits that are now accessible from this
# ref that were previously not accessible
# (see generate_update_branch_email for the explanation of this
# command)
git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
git rev-list --pretty --stdin $newrev
show_new_revisions
echo $LOGEND
}

Expand Down Expand Up @@ -390,8 +384,7 @@ generate_update_branch_email()

echo ""
echo $LOGBEGIN
git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
git rev-list --pretty --stdin $oldrev..$newrev
show_new_revisions

# XXX: Need a way of detecting whether git rev-list actually
# outputted anything, so that we can issue a "no new
Expand Down Expand Up @@ -591,6 +584,36 @@ generate_delete_general_email()
echo $LOGEND
}


# --------------- Miscellaneous utilities

#
# Show new revisions as the user would like to see them in the email.
#
show_new_revisions()
{
# This shows all log entries that are not already covered by
# another ref - i.e. commits that are now accessible from this
# ref that were previously not accessible
# (see generate_update_branch_email for the explanation of this
# command)

# Revision range passed to rev-list differs for new vs. updated
# branches.
if [ "$change_type" = create ]
then
# Show all revisions exclusive to this (new) branch.
revspec=$newrev
else
# Branch update; show revisions not part of $oldrev.
revspec=$oldrev..$newrev
fi

git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
git rev-list --pretty --stdin $revspec
}


send_mail()
{
if [ -n "$envelopesender" ]; then
Expand Down

0 comments on commit 4471649

Please sign in to comment.