@@ -82,12 +82,18 @@ GIT_DIR="${GIT_DIR:-.git}"
82
82
STATE=" ${GIT_DIR} /umpf"
83
83
84
84
# ## flags ####
85
- SUPPORTED_FLAGS=(" extraversion" )
85
+ SUPPORTED_FLAGS=(" extraversion" " upstreamstatus " )
86
86
87
87
declare -A flag_extraversion
88
88
89
89
flag_extraversion[val]=" replace"
90
90
flag_extraversion[values]=" replace conflictfree"
91
+
92
+ declare -A flag_upstreamstatus
93
+
94
+ flag_upstreamstatus[val]=" none"
95
+ flag_upstreamstatus[values]=" none insert"
96
+
91
97
# #############
92
98
93
99
info () {
@@ -1105,7 +1111,30 @@ rebase_branch() {
1105
1111
committerdate=" $( ${GIT} log -1 --format=%cd --date=raw " $( < " ${STATE} /base" ) " ) "
1106
1112
fi
1107
1113
1108
- if ! FILTER_BRANCH_SQUELCH_WARNING=1 " ${GIT} " filter-branch -f --env-filter " GIT_COMMITTER_DATE='$committerdate '; GIT_COMMITTER_NAME=umpf; GIT_COMMITTER_EMAIL=entwicklung@pengutronix.de" " $( < " ${STATE} /prev_head" ) .." ; then
1114
+ declare -a msg_filter
1115
+ if [ " ${flag_upstreamstatus[val]} " = " insert" ]; then
1116
+ msg_filter=(
1117
+ --msg-filter
1118
+ " awk '
1119
+ /^Upstream-Status:/ {
1120
+ done=1
1121
+ }
1122
+ /^[^\s]*-by:/ {
1123
+ if (!done) {
1124
+ print \" Upstream-Status: Pending\n\"
1125
+ done=1
1126
+ }
1127
+ }
1128
+ {
1129
+ print \$ 0
1130
+ }
1131
+ END {
1132
+ if (!done)
1133
+ print \" \nUpstream-Status: Pending\"
1134
+ }'" )
1135
+ fi
1136
+
1137
+ if ! FILTER_BRANCH_SQUELCH_WARNING=1 " ${GIT} " filter-branch -f " ${msg_filter[@]} " --env-filter " GIT_COMMITTER_DATE='$committerdate '; GIT_COMMITTER_NAME=umpf; GIT_COMMITTER_EMAIL=entwicklung@pengutronix.de" " $( < " ${STATE} /prev_head" ) .." ; then
1109
1138
bailout " rewrite for reproducible commit-ish failed."
1110
1139
fi
1111
1140
echo " # umpf-topic-range: $( < " ${STATE} /prev_head" ) ..$( ${GIT} rev-parse HEAD) " >& ${series_out}
@@ -1233,7 +1262,13 @@ rebase_end() {
1233
1262
fi
1234
1263
if ! ${GIT} diff-index --cached --quiet HEAD --; then
1235
1264
local tagname=" $( < " ${STATE} /tag" ) "
1236
- ${GIT} commit --no-verify -m " Release ${tagname} "
1265
+ local extra_message
1266
+ if [ " ${flag_upstreamstatus[val]} " = " insert" ]; then
1267
+ extra_message="
1268
+
1269
+ Upstream-Status: Inappropriate [autogenerated]"
1270
+ fi
1271
+ ${GIT} commit --no-verify -m " Release ${tagname}${extra_message} "
1237
1272
echo " # umpf-release: ${tagname} " >& ${series_out}
1238
1273
echo " # umpf-topic-range: $( < " ${STATE} /prev_head" ) ..$( ${GIT} rev-parse HEAD) " >& ${series_out}
1239
1274
fi
@@ -1428,6 +1463,11 @@ run_format_patch() {
1428
1463
done
1429
1464
if ${BB} ; then
1430
1465
cp " ${STATE} /series.next" " ${PATCH_DIR} /series.inc"
1466
+ if [ " ${flag_upstreamstatus[val]} " != " insert" ]; then
1467
+ info
1468
+ info " Note: Patches are created without Upstream-Status!"
1469
+ info
1470
+ fi
1431
1471
elif ${NIX} ; then
1432
1472
cp " ${STATE} /series.next" " ${PATCH_DIR} /series.nix"
1433
1473
else
0 commit comments