Using port 222 on git.indexdata.dk
[git-tools-moved-to-github.git] / id-new-project / post-receive-email-id
index 6f87ac7..741bbf7 100644 (file)
@@ -59,6 +59,7 @@
 #  - generate_delete_XXXX_email
 #  - generate_email_footer
 #
+
 generate_email()
 {
        # --- Arguments
@@ -370,13 +371,23 @@ generate_update_branch_email()
                fi
        fi
 
+       summary_counter=0
        echo ""
        if [ -z "$rewind_only" ]; then
                echo "Revisions details."
                echo ""
                echo $LOGBEGIN
-               git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
-               git rev-list --pretty --stdin $oldrev..$newrev
+               save_newrev=$newrev
+               for rev in `git log --pretty=oneline $oldrev..$newrev | perl -e 'while(<>) { push @a, (split)[0] }; print join " ", reverse @a' `
+               do
+                       newrev=$rev
+                       echo ""
+                       generate_gitweb_link
+                       git rev-list --pretty -n1 $rev 
+                       git diff-tree --stat --summary --find-copies-harder $rev | tail -n +2
+                       summary_counter=`expr $summary_counter + 1`
+               done
+               newrev=$save_newrev
 
                # XXX: Need a way of detecting whether git rev-list actually outputted
                # anything, so that we can issue a "no new revisions added by this
@@ -393,9 +404,11 @@ generate_update_branch_email()
        # is effectively a random revision at this point - the user will be
        # interested in what this revision changed - including the undoing of
        # previous revisions in the case of non-fast forward updates.
-       echo ""
-       echo "Summary of changes:"
-       git diff-tree --stat --summary --find-copies-harder $oldrev..$newrev
+       if [ $summary_counter -gt 1 ]; then
+           echo ""
+           echo "Summary of changes:"
+           git diff-tree --stat --summary --find-copies-harder $oldrev..$newrev
+       fi
 }
 
 #
@@ -569,6 +582,20 @@ generate_delete_general_email()
        echo $LOGEND
 }
 
+GITWEB_PUB="http://git.indexdata.com"
+GITWEB_PRIV="https://gitid.indexdata.com"
+
+generate_gitweb_link()
+{      
+       proj_path=`pwd`
+       proj_dir=`basename $proj_path`
+       gitweb_host=$GITWEB_PUB
+       if echo "$proj_path" | egrep -q "/(private|server)"
+       then gitweb_host=$GITWEB_PRIV
+       fi
+       echo "$gitweb_host/?p=$proj_dir;a=commitdiff;h=$newrev"
+}
+
 # ---------------------------- main()
 
 # --- Constants