CC_CMD="`pwd`/scripts/get_maintainer.pl --nogit --nogit-fallback --norolestats --non --nom"
# Set default values
+debug="0"
commit_start=""
commit_end=""
DRY_RUN="--dry-run"
series=""
resend="no"
GIT_FORMAT_PATCH_SUBJECT="PATCH"
+GIT_FORMAT_PATCH_OPTS="--histogram"
skip_compile=0
+CHECKPATCH_OPS="--strict"
print_usage()
{
echo "Usage: ${PROG_NAME} [OPTIONS...]"
echo
echo "Options:"
- echo " -d resend patch"
+ echo " -d debug mode"
echo " -e end commit (string)"
echo " -f folder containing patch infos"
echo " -h display this help and exit"
echo " -n dot not compile patches"
+ echo " -p resend patch"
echo " -r really send emails (default = dry-run)"
echo " -s start commit (string)"
echo
}
-while getopts "de:f:hnrs:" flag ;do
+while getopts "de:f:hnprs:" flag ;do
case ${flag} in
d)
- resend="yes"
+ debug="1"
;;
e)
commit_end="${OPTARG}"
n)
skip_compile=1
;;
+ p)
+ resend="yes"
+ ;;
r)
DRY_RUN=""
;;
fi
if git branch | grep -q ${patches_branch}; then
- git branch -D ${patches_branch}
+ git branch -D ${patches_branch} 1>/dev/null
+fi
+
+if [ "${debug}" = "1" ]; then
+ echo "start commit: ${COMMIT_START_SHA1}"
+ echo "end commit: ${COMMIT_END_SHA1}"
fi
# Create new branch from base_branch, and apply all our patches onto it:
git branch --set-upstream-to ${base_branch}
git cherry-pick ${COMMIT_START_SHA1}..${COMMIT_END_SHA1}
-GIT_FORMAT_PATCH_OPTS="--base=${base_commit}"
+GIT_FORMAT_PATCH_OPTS="${GIT_FORMAT_PATCH_OPTS} --base=${base_commit}"
if [ x"${cover}" = x"yes" ]; then
GIT_FORMAT_PATCH_OPTS="${GIT_FORMAT_PATCH_OPTS} --cover-letter"
if [ x"${cover}" = x"yes" ]; then
# Replace subject line in cover letter:
- sed -i -e "s/\*\*\* SUB.*/${subject}/" ${srcdir}/${series_prefix}0000-cover-letter.patch
+ sed -i -e "s@\*\*\* SUB.*@${subject}@" ${srcdir}/${series_prefix}0000-cover-letter.patch
# Replace blurb line in cover letter:
sed -i -e "/.*BLURB.*/{r /tmp/cover-letter.txt" -e 'd}' ${srcdir}/${series_prefix}0000-cover-letter.patch
git checkout -b ${temp_compile_branch} ${compile_branch}
- # Make sure temp_compile_branch is rebased on base_branch:
- git rebase ${base_branch}
-
# Apply all of our commits to temp_compile_branch:
git cherry-pick ${COMMIT_START_SHA1}..${COMMIT_END_SHA1}