then
echo "$0: Project '${project}' does not exist."
continue
- elif [ ! -f "${JPROJECTS_HOME}/${project}/.gitcommits" ]
+ fi
+
+ COMMITS_FILE="${JPROJECTS_HOME}/${project}/.gitcommits"
+
+ if [ ! -f "${COMMITS_FILE}" ]
then
# No .gitcommits file, skip this silently
continue
fi
- COMMIT_IDS=`cat "${JPROJECTS_HOME}/${project}/.gitcommits"`
- COMMITS_FILE="${JPROJECTS_HOME}/${project}/.gitcommits"
+ COMMIT_IDS=$(cat "${COMMITS_FILE}")
+
+ if [ -n "${COMMIT_IDS}" ]
+ then
+ cd "${JPROJECTS_HOME}/${project}"
+ echo "$0: Fetching all for project '${project}' ..."
+ git prune
+ git fetch --all
+ else
+ echo "$0: Nothing to cherry-pick for '${project}'."
+ rm "${COMMITS_FILE}"
+ continue
+ fi
echo "$0: Cherry-picking on project '${project}' ..."
for commit in ${COMMIT_IDS}; do
- cd "${JPROJECTS_HOME}/${project}"
echo "$0: Working on commit '${commit}' ..."
- FOUND_ID=`git rev-list "${commit}" --max-count=1 2>&1`
+ FOUND_ID=$(git rev-list "${commit}" --max-count=1 2>&1)
STATUS="$?"
if [ "${STATUS}" != "0" ]
git cherry-pick -S "${commit}" || exit 255
echo "$0: Removing commit from list ..."
- REMAINING_IDS=`cat ${COMMITS_FILE} | grep -v "${commit}"`
+ REMAINING_IDS=$(cat ${COMMITS_FILE} | grep -v "${commit}")
echo "${REMAINING_IDS}" > ${COMMITS_FILE}
done