Reintegrate: sometimes a specific cherry-pick need to be carried forward
This is especially necessary when you reverted a premature merge to more stable integration branch while you do want to keep the topic cooking in more experimental integration branch.todo
parent
61e41ee04e
commit
dc27452ae4
40
Reintegrate
40
Reintegrate
|
|
@ -10,25 +10,43 @@ echo '#!/bin/sh
|
|||
while read branch eh
|
||||
do
|
||||
case "$eh" in
|
||||
"") git merge "$branch" || break ;;
|
||||
?*) echo >&2 "Eh? $branch $eh"; break ;;
|
||||
"")
|
||||
echo >&2 "* $branch"
|
||||
git merge "$branch" || break ;;
|
||||
pick" "*)
|
||||
echo >&2 "* $eh"
|
||||
git cherry-pick "$branch" || break ;;
|
||||
*) echo >&2 "Eh? $branch $eh"; break ;;
|
||||
esac
|
||||
done <<EOF'
|
||||
|
||||
show_merge () {
|
||||
branch=$(expr "$msg" : "$merge_msg") &&
|
||||
tip=$(git rev-parse --verify "refs/heads/$branch" 2>/dev/null) &&
|
||||
merged=$(git name-rev --refs="refs/heads/$branch" "$other" 2>/dev/null) &&
|
||||
merged=$(expr "$merged" : "$x40 \(.*\)") &&
|
||||
test "$merged" != undefined || {
|
||||
other=$(git log -1 --pretty='format:%s' $other) &&
|
||||
merged="$branch :rebased? $other"
|
||||
}
|
||||
}
|
||||
|
||||
show_pick () {
|
||||
merged="$(git rev-parse --verify "$commit") pick $msg"
|
||||
}
|
||||
|
||||
git log --pretty=oneline --first-parent "$1" |
|
||||
{
|
||||
series=
|
||||
while read commit msg
|
||||
do
|
||||
other=$(git rev-parse --verify "$commit^2") &&
|
||||
branch=$(expr "$msg" : "$merge_msg") &&
|
||||
tip=$(git rev-parse --verify "refs/heads/$branch" 2>/dev/null) &&
|
||||
merged=$(git name-rev --refs="refs/heads/$branch" "$other" 2>/dev/null) &&
|
||||
merged=$(expr "$merged" : "$x40 \(.*\)") &&
|
||||
test "$merged" != undefined || {
|
||||
other=$(git log -1 --pretty='format:%s' $other) &&
|
||||
merged="$branch :rebased? $other"
|
||||
}
|
||||
if other=$(git rev-parse -q --verify "$commit^2")
|
||||
then
|
||||
show_merge
|
||||
else
|
||||
show_pick
|
||||
fi
|
||||
|
||||
if test -z "$series"
|
||||
then
|
||||
series="$merged"
|
||||
|
|
|
|||
Loading…
Reference in New Issue