Michael S. Tsirkin
2014-10-22 06:57:14 UTC
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 <***@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 86edac7..a82bbdf 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -745,7 +745,7 @@ rearrange_squash () {
while read -r pick sha1 message
do
case "$message" in
- "squash! "*|"fixup! "*|"ack! "*)
+ "squash! "*|"fixup! "*|"ack! "*|"Revert \""*)
action="${message%%!*}"
rest=$message
prefix=
@@ -757,6 +757,12 @@ rearrange_squash () {
prefix="$prefix${rest%%!*},"
rest="${rest#*! }"
;;
+ "Revert \""*\")
+ action="squash"
+ prefix="Revert,"
+ rest="${rest#Revert \"}"
+ rest="${rest%%\"}"
+ ;;
*)
break
;;
original commit and the revert would be even nicer, but this seems a bit
harder to implement.
Signed-off-by: Michael S. Tsirkin <***@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 86edac7..a82bbdf 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -745,7 +745,7 @@ rearrange_squash () {
while read -r pick sha1 message
do
case "$message" in
- "squash! "*|"fixup! "*|"ack! "*)
+ "squash! "*|"fixup! "*|"ack! "*|"Revert \""*)
action="${message%%!*}"
rest=$message
prefix=
@@ -757,6 +757,12 @@ rearrange_squash () {
prefix="$prefix${rest%%!*},"
rest="${rest#*! }"
;;
+ "Revert \""*\")
+ action="squash"
+ prefix="Revert,"
+ rest="${rest#Revert \"}"
+ rest="${rest%%\"}"
+ ;;
*)
break
;;
--
MST
MST