blob: f0256c39ad1da0d62f7c224451f544cde0bae9f4 (
plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
#!/bin/bash
# review - Move a certain revision from sunrise/ to reviewed/
# Released into the public domain
source /etc/init.d/functions.sh
BLUE=$'\033[34;01m'
BOLD=$'\e[0;01m'
DARKGREEN=$'\e[32m'
GREEN=$'\e[32;01m'
LIGHTBLUE=$HILITE
RED=$'\033[31;01m'
YELLOW=$'\033[33;01m'
opt_norepoman=0
opt_noupdate=0
opt_quiet=0
opt_verbose=0
DIFF="${DIFF:-diff}"
DIFF_OPTS="${DIFF_OPTS:--Nur}"
repoman_check() {
if [[ "$opt_norepoman" == "0" ]] ; then
ebegin "Running repoman"
export PORTDIR_OVERLAY="$(pwd)"
repoman
eend $?
return $?
fi
}
usage() {
cat << EOF
${BOLD}Usage:${NORMAL} ${LIGHTBLUE}$0${NORMAL} [ ${GREEN}options${NORMAL} ] ${BLUE}revision${NORMAL}
${GREEN}options${NORMAL}:
${BOLD}--help, -h${NORMAL} Show help
${BOLD}--norepoman, -p${NORMAL} Skip repoman check
${BOLD}--noupdate, -d${NORMAL} Don't update from repository before committing
${BOLD}--quiet, -q${NORMAL} Don't ask for confirmation
${BOLD}--verbose, -v${NORMAL} Show detailed information during commit
EOF
exit ${1:-0}
}
while [[ $# > 0 ]] ; do
case "$1" in
--help|-h)
usage ;;
--norepoman|-p)
opt_norepoman=1
shift ;;
--noupdate|-d)
opt_noupdate=1
shift ;;
--quiet|-q)
opt_quiet=1
shift ;;
--verbose|-v)
opt_verbose=1
shift ;;
-*)
echo "!!! Error: Unknown option ${1}. See: $0 -h"
exit 1 ;;
*)
break ;;
esac
done
LC_ALL="C" ls -d *-* > profiles/categories
if [[ $(git diff profiles/categories) ]]; then
git diff profiles/categories | if [[ "$opt_quiet" == "0" ]] ; then less; else cat; fi
echo -n "${BOLD}Commit changes?${NORMAL} [${GREEN}Yes${NORMAL}/${RED}No${NORMAL}] "
read choice
echo
case "$choice" in
y*|Y*|"")
git commit -m "Automatic update to categories" profiles/categories || exit 1
;;
*)
echo "Quitting."
echo
exit ;;
esac
fi
egencache --ignore-default-opts --portdir-overlay=. \
--repo=sunrise --update-use-local-desc || exit $?
if [[ $(git diff profiles/use.local.desc) ]]; then
git diff profiles/use.local.desc | if [[ "$opt_quiet" == "0" ]] ; then less; else cat; fi
echo -n "${BOLD}Commit changes?${NORMAL} [${GREEN}Yes${NORMAL}/${RED}No${NORMAL}] "
read choice
echo
case "$choice" in
y*|Y*|"")
git commit -m "Automatic update to use.local.desc" profiles/use.local.desc || exit 1
;;
*)
echo "Quitting."
echo
exit ;;
esac
fi
ebegin "Updating working copy to latest version from repository"
git pull --rebase
(
repoman_check || exit $?
ebegin "Running portdupe"
scripts/portdupe
eend $?
if [[ "$opt_quiet" == "0" ]] ; then
git diff master reviewed/master
fi
) | if [[ "$opt_quiet" == "0" ]] ; then less; else cat; fi
if [[ "$opt_quiet" == "0" ]] ; then
echo
echo -n "${BOLD}Commit changes?${NORMAL} [${GREEN}Yes${NORMAL}/${RED}No${NORMAL}] "
read choice
echo
case "$choice" in
y*|Y*|"")
;;
*)
echo "Quitting."
echo
exit ;;
esac
fi
ebegin "Pushing changes..."
if [[ "$opt_verbose" == "1" ]] ; then
git push -v origin
git push -v reviewed
else
git push origin
git push reviewed
fi
eend ${?}
|