Reverts can typically be treated like squash. Eliminating both the
original commit and the revert would be even nicer, but this seems a bit
harder to implement.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
git-rebase--interactive.sh | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 6a766ca..6fc1935 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -777,7 +777,7 @@ rearrange_squash () {
do
test -z "${format}" || message=$(git log -n 1 --format="%s" ${sha1})
case "$message" in
- "squash! "*|"fixup! "*|"ack! "*)
+ "squash! "*|"fixup! "*|"ack! "*|"Revert \""*)
action="${message%%!*}"
rest=$message
prefix=@@ -789,6 +789,12 @@ rearrange_squash () {
prefix="$prefix${rest%%!*},"
rest="${rest#*! }"
;;
+ "Revert \""*\")
+ action="squash"
+ prefix="Revert,"
+ rest="${rest#Revert \"}"
+ rest="${rest%%\"}"
+ ;;
*)
break
;;--
MST