-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsyncapp
More file actions
59 lines (46 loc) · 1.24 KB
/
syncapp
File metadata and controls
59 lines (46 loc) · 1.24 KB
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
#!/bin/bash
HERE=$(dirname ${BASH_SOURCE[0]})
. ${HERE}/fixpath
echo Pullting targets
pulltargets
if ! branchexists master ; then
>&2 echo branch master not found. exiting.
exit 1
fi
if ! branchexists it ; then
>&2 echo branch it not found. exiting.
exit 1
fi
echo promotemergebase master it
promotemergebase master it
branch=$(branch)
if [ "$branch" = mergetrack/it ] ; then
git push -u origin $branch || exit 1
for target in master it ; do
pull $target || break
yes | pullto $target || break
done
fi
relbranch=$(git branch | sed -e 's/^..//' | grep ^rel | sort | tail -1)
if [ -z "$relbranch" ] ; then
>&2 echo no rel branch found. exiting.
exit 1
fi
if ! branchexists "$relbranch" ; then
>&2 echo branch "$relbranch" not found. exiting.
exit 1
fi
if [[ ! "$relbranch" =~ ^rel$|^rel/[1-90]*$ ]] ; then
>&2 echo branch $relbranch is not recognised. exiting.
exit 1
fi
echo promotemergebase master it "$relbranch"
promotemergebase master it "$relbranch"
branch=$(branch)
if [[ "$branch" =~ ^mergetrack/rel.*$ ]] ; then
git push -u origin $branch || exit 1
for target in master it "$relbranch" ; do
pull $target || exit 1
yes | pullto $target || exit 1
done
fi