]>
Commit | Line | Data |
---|---|---|
a76b4376 DB |
1 | #!/bin/sh |
2 | # | |
3 | # Update the current version date in all files in the tree containing | |
4 | # it. Consider all release branches except those matching the regular | |
5 | # expression in $IGNORE_BRANCHES, and also consider those branches listed | |
ef11e5cc | 6 | # in the space separated list in $ADD_BRANCHES. |
a76b4376 DB |
7 | |
8 | SVNROOT=${SVNROOT:-"file:///svn/gcc"} | |
0ea62378 | 9 | IGNORE_BRANCHES='gcc-(2_95|3_0|3_1|3_2|3_3|3_4|4_0|4_1|4_2|4_3|4_4|4_5|4_6)-branch' |
ef11e5cc | 10 | ADD_BRANCHES='HEAD' |
a76b4376 DB |
11 | |
12 | # Run this from /tmp. | |
13 | export SVNROOT | |
14 | /bin/rm -rf /tmp/$$ | |
15 | /bin/mkdir /tmp/$$ | |
16 | cd /tmp/$$ | |
17 | ||
a76b4376 DB |
18 | SVN=${SVN:-/usr/bin/svn} |
19 | ||
20 | # Compute the branches which we should update. | |
21 | BRANCHES=`$SVN ls $SVNROOT/branches \ | |
22 | | sed -e 's/\///' \ | |
23 | | egrep 'gcc-[0-9]+_[0-9]+-branch$' \ | |
24 | | egrep -v $IGNORE_BRANCHES` | |
a76b4376 DB |
25 | # Always update the mainline. |
26 | BRANCHES="${BRANCHES} ${ADD_BRANCHES}" | |
d8e6fa6e | 27 | |
176a192a | 28 | # This is put into the datestamp files. |
a76b4376 DB |
29 | CURR_DATE=`/bin/date +"%Y%m%d"` |
30 | ||
a76b4376 DB |
31 | datestamp_FILES="gcc/DATESTAMP" |
32 | ||
a76b4376 DB |
33 | |
34 | # Assume all will go well. | |
35 | RESULT=0 | |
36 | for BRANCH in $BRANCHES; do | |
37 | echo "Working on \"$BRANCH\"." | |
176a192a | 38 | # Check out the files on the branch. HEAD is in a different namespace. |
a76b4376 | 39 | if test "$BRANCH" = HEAD; then |
1b31835f GP |
40 | SVNROOT2=${SVNROOT}/trunk |
41 | else | |
42 | SVNROOT2=${SVNROOT}/branches/${BRANCH} | |
a76b4376 DB |
43 | fi |
44 | ||
1b31835f GP |
45 | for i in $datestamp_FILES; do |
46 | ${SVN} -q co -N ${SVNROOT2}/`dirname $i` `basename $i` | |
47 | done | |
48 | ||
a76b4376 DB |
49 | # There are no files to commit yet. |
50 | COMMIT_FILES="" | |
a76b4376 DB |
51 | |
52 | for file in $datestamp_FILES; do | |
53 | dirname=`basename $file` | |
54 | file=`basename $file` | |
55 | file="$dirname/$file" | |
56 | if test -f $file; then | |
57 | echo ${CURR_DATE} > $file.new | |
58 | ||
59 | if /usr/bin/cmp -s $file $file.new; then | |
60 | rm -f $file.new | |
61 | else | |
62 | mv -f $file.new $file | |
63 | COMMIT_FILES="$COMMIT_FILES $file" | |
64 | fi | |
65 | fi | |
66 | done | |
d8e6fa6e | 67 | |
a76b4376 DB |
68 | if test -n "$COMMIT_FILES"; then |
69 | for i in $COMMIT_FILES; do | |
70 | echo "Attempting to commit $i" | |
71 | if ! ${SVN} commit -m "Daily bump." $i; then | |
72 | # If we could not commit the files, indicate failure. | |
73 | RESULT=1 | |
74 | fi | |
75 | done | |
76 | fi | |
77 | ||
78 | # Remove the files. | |
1b31835f | 79 | for i in $datestamp_FILES; do |
a76b4376 DB |
80 | rm -rf /tmp/$$/`basename $i` |
81 | done | |
82 | done | |
83 | ||
84 | /bin/rm -rf /tmp/$$ | |
85 | exit $RESULT |