First pass at sequential commit numbers.
[git-central.git] / server / post-receive-assign-commit-numbers
1 #!/bin/sh
2
3 . $(dirname $0)/functions
4
5 while read oldrev newrev refname ; do
6         set_new_commits
7         echo "$new_commits" | git rev-list --reverse --stdin | while read commit ; do
8                 cat $GIT_DIR/packed-refs | grep --quiet "$commit"
9                 if [ $? -ne 0 ] ; then
10                         current=$(cat $GIT_DIR/packed-refs | grep "refs/tags/r/" | tail -n 1 | grep -oP "r\/\d+" | grep -oP "\d+")
11                         if [ $? -ne 0 ] ; then
12                                 next="0"
13                         else
14                                 next=$(($current + 1))
15                         fi
16                         echo "$commit refs/tags/r/$next" >> $GIT_DIR/packed-refs
17                 fi
18         done
19 done
20