annotate maintainer-scripts/update_version_git @ 158:494b0b89df80 default tip

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