]>
Commit | Line | Data |
---|---|---|
c9cef025 | 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 | |
dc7382ff | 6 | # in the space separated list in $ADD_BRANCHES. |
c9cef025 | 7 | |
8 | SVNROOT=${SVNROOT:-"file:///svn/gcc"} | |
29241d83 | 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|4_7|4_8|4_9|5|6)-branch' |
dc7382ff | 10 | ADD_BRANCHES='HEAD' |
c9cef025 | 11 | |
12 | # Run this from /tmp. | |
13 | export SVNROOT | |
14 | /bin/rm -rf /tmp/$$ | |
15 | /bin/mkdir /tmp/$$ | |
16 | cd /tmp/$$ | |
17 | ||
c9cef025 | 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/\///' \ | |
76541bb5 | 23 | | egrep 'gcc-[0-9]+(_[0-9]+)?-branch$' \ |
c9cef025 | 24 | | egrep -v $IGNORE_BRANCHES` |
c9cef025 | 25 | # Always update the mainline. |
26 | BRANCHES="${BRANCHES} ${ADD_BRANCHES}" | |
6c6e5c46 | 27 | |
e2c3fbeb | 28 | # This is put into the datestamp files. |
c9cef025 | 29 | CURR_DATE=`/bin/date +"%Y%m%d"` |
30 | ||
c9cef025 | 31 | datestamp_FILES="gcc/DATESTAMP" |
32 | ||
c9cef025 | 33 | |
34 | # Assume all will go well. | |
35 | RESULT=0 | |
36 | for BRANCH in $BRANCHES; do | |
37 | echo "Working on \"$BRANCH\"." | |
e2c3fbeb | 38 | # Check out the files on the branch. HEAD is in a different namespace. |
c9cef025 | 39 | if test "$BRANCH" = HEAD; then |
695d0c08 | 40 | SVNROOT2=${SVNROOT}/trunk |
41 | else | |
42 | SVNROOT2=${SVNROOT}/branches/${BRANCH} | |
c9cef025 | 43 | fi |
44 | ||
695d0c08 | 45 | for i in $datestamp_FILES; do |
46 | ${SVN} -q co -N ${SVNROOT2}/`dirname $i` `basename $i` | |
47 | done | |
48 | ||
c9cef025 | 49 | # There are no files to commit yet. |
50 | COMMIT_FILES="" | |
c9cef025 | 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 | |
6c6e5c46 | 67 | |
c9cef025 | 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. | |
695d0c08 | 79 | for i in $datestamp_FILES; do |
c9cef025 | 80 | rm -rf /tmp/$$/`basename $i` |
81 | done | |
82 | done | |
83 | ||
84 | /bin/rm -rf /tmp/$$ | |
85 | exit $RESULT |