aboutsummaryrefslogtreecommitdiffstats
path: root/tool/post-commit.sh
blob: 66ae05c4fe768ae2b3c08f4243c33b2dcc39bc45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/sh

{ date; echo '### start ###'; uptime; } >> /tmp/post-commit.log

PATH=/opt/csw/bin:/usr/sfw/bin:/usr/bin:/bin
export PATH
HOME=/home/svn
export HOME

REPOS="$1"
REV="$2"

{ date; echo $REPOS; echo $REV; echo svnadmin; uptime; } >> /tmp/post-commit.log

svnadmin dump -q -r "$REV" --incremental "$REPOS" | bzip2 -c > /var/svn/dump/ruby/$REV.bz2

{ date; echo commit-email.rb; uptime; } >> /tmp/post-commit.log

~svn/scripts/svn-utils/bin/commit-email.rb \
   "$REPOS" "$REV" ruby-cvs@ruby-lang.org \
   -I ~svn/scripts/svn-utils/lib \
   --name Ruby \
   --viewvc-uri http://svn.ruby-lang.org/cgi-bin/viewvc.cgi \
   -r http://svn.ruby-lang.org/repos/ruby \
   --rss-path /tmp/ruby.rdf \
   --rss-uri http://svn.ruby-lang.org/rss/ruby.rdf \
   --error-to cvs-admin@ruby-lang.org

{ date; echo update-version.h.rb; uptime; } >> /tmp/post-commit.log

~svn/scripts/svn-utils/bin/update-version.h.rb "$REPOS" "$REV" &

#~svn/scripts/svn-utils/bin/commit-email-test.rb \
#   "$REPOS" "$REV" eban@ruby-lang.org \
#   -I ~svn/scripts/svn-utils/lib \
#   --name Ruby \
#   --viewvc-uri http://svn.ruby-lang.org/cgi-bin/viewvc.cgi \
#   --error-to eban@ruby-lang.org

#   --from admin@ruby-lang.org
#   -r http://svn.ruby-lang.org/repos/ruby \
#   --rss-path ~/ruby.rdf \
#   --rss-uri http://svn.ruby-lang.org/rss/ruby.rdf \

{ date; echo redmine fetch changesets; uptime; } >> /tmp/post-commit.log

curl "https://bugs.ruby-lang.org/sys/fetch_changesets?key=`cat ~svn/config/redmine.key`" &

{ date; echo auto-style; uptime; } >> /tmp/post-commit.log

~svn/scripts/svn-utils/bin/auto-style.rb ~svn/ruby/trunk &

{ date; echo github sync; uptime; } >> /tmp/post-commit.log

cd /var/git-svn/ruby
sudo -u git git svn fetch --all

# Push branch or tag
for ref in `svnlook changed -r $REV $REPOS | grep '^[AU ]' |                                            sed 's!^..  \(\(trunk\)/.*\|\(tags\|branches\)/\([^/]*\)/.*\)!\2\4!' | sort -u`; do
  case $ref in
  trunk) sudo -u git git push origin svn/trunk:trunk ;;
  ruby_*) sudo -u git git push origin svn/$ref:$ref ;;
  v*) echo git tag -f $ref svn/tags/$ref && git push origin $ref ;;
  esac
done

# Delete tags or branches
for ref in `svnlook changed -r $REV $REPOS |                                                            grep '^D   \(tags\|branches\)/[^/]*/$' | sed 's!^D   \(tags\|branches\)/\([^/]*\)/$!\2!'`; do
  sudo -u git git push origin :$ref
done

{ date; echo '### end ###'; uptime; } >> /tmp/post-commit.log