comparison maintainer-scripts/update_version_git @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 #!/bin/sh
2 #
3 # Update the current version date in all files in the tree containing
4 # it. Consider all single-component-version release branches except
5 # those matching the regular expression in $IGNORE_BRANCHES, and also
6 # consider those branches listed in the space separated list in
7 # $ADD_BRANCHES.
8
9 GITROOT=${GITROOT:-"/git/gcc.git"}
10 IGNORE_BRANCHES='releases/gcc-(.*\..*|5|6|7)'
11 ADD_BRANCHES='master'
12
13 # Run this from /tmp.
14 export GITROOT
15 BASEDIR=/tmp/$$
16 /bin/rm -rf "$BASEDIR"
17 /bin/mkdir "$BASEDIR"
18 cd "$BASEDIR"
19
20 GIT=${GIT:-/usr/local/bin/git}
21
22 # Compute the branches which we should update.
23 BRANCHES=`(cd $GITROOT \
24 && ${GIT} for-each-ref --format='%(refname)' \
25 'refs/heads/releases/gcc-*') \
26 | sed -e 's/refs\/heads\///' \
27 | egrep -v $IGNORE_BRANCHES`
28 # Always update the mainline.
29 BRANCHES="${ADD_BRANCHES} ${BRANCHES}"
30
31 # This is put into the datestamp files.
32 CURR_DATE=`/bin/date +"%Y%m%d"`
33
34 datestamp_FILES="gcc/DATESTAMP"
35
36
37 # Assume all will go well.
38 RESULT=0
39 SUBDIR=$BASEDIR/gcc
40 for BRANCH in $BRANCHES; do
41 echo "Working on \"$BRANCH\"."
42 # Check out the files on the branch.
43 if [ -d "$SUBDIR" ]; then
44 cd "$SUBDIR"
45 ${GIT} pull -q
46 ${GIT} checkout -q "$BRANCH"
47 else
48 ${GIT} clone -q -b "$BRANCH" "$GITROOT" "$SUBDIR"
49 fi
50
51 # There are no files to commit yet.
52 COMMIT_FILES=""
53
54 cd "$SUBDIR"
55 for file in $datestamp_FILES; do
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
67
68 if test -n "$COMMIT_FILES"; then
69 for i in $COMMIT_FILES; do
70 echo "Attempting to commit $i"
71 if ${GIT} commit -m "Daily bump." $i; then
72 if ! ${GIT} push origin "$BRANCH"; then
73 # If we could not push the files, indicate failure.
74 RESULT=1
75 fi
76 else
77 # If we could not commit the files, indicate failure.
78 RESULT=1
79 fi
80 done
81 fi
82 done
83
84 /bin/rm -rf $BASEDIR
85 exit $RESULT