From: Onno Kortmann <onno@gmx.net>
To: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [PATCH] Show number of commits being rebased interactively
Date: Sun, 07 Dec 2014 21:56:29 +0100 [thread overview]
Message-ID: <5484BEFD.7060906@gmx.net> (raw)
In-Reply-To: <xmqq388tpyls.fsf@gitster.dls.corp.google.com>
Hi,
> These lines above "---" will become the only log message text, which
> is probably not what you intended. Use "-- >8 --" marker instead
> (that is a perforation line with a pair of scissors on it)?
Thanks, hopefully fixed below.
>> +commitcount=$(git stripspace --strip-comments <"$todo" | wc -l)
>
> Does this count the number of commits? I suspect it at least needs
> to filter "x|exec" out.
Very true - after reading this, I learned about the '-x' option
to git-rebase -i :-)
I changed the patch so it now properly looks for '^pick ' patterns. I
hope this should do the trick under all circumstances? In the case
of having 'exec' lines interspersed, the $commitcount becomes a lot
less useful (no comparison to editor line numbers), though.
Cheers,
Onno
8< 8< 8< 8< 8< 8< 8< 8< 8<
Subject: [PATCH] Show number of commits being rebased interactively
During 'rebase -i', one wrong edit in a long rebase session might
inadvertently drop commits. This change shows the total number of
commits in the comments below the commit list. After the rebase
edit, the number can be quickly compared to the line number of
the last commit - by scrolling to the last entry in the rebase
TODO list. This gives peace of mind that no commits have been
lost in the edit.
Signed-off-by: Onno Kortmann <onno@gmx.net>
---
git-rebase--interactive.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index b64dd28..b26e5e6 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1031,9 +1031,13 @@ test -s "$todo" || echo noop >> "$todo"
test -n "$autosquash" && rearrange_squash "$todo"
test -n "$cmd" && add_exec_commands "$todo"
+commitcount=$(git stripspace --strip-comments <"$todo" | \
+ sane_grep "^pick " | \
+ wc -l)
+
cat >>"$todo" <<EOF
-$comment_char Rebase $shortrevisions onto $shortonto
+$comment_char Rebase $shortrevisions onto $shortonto ($commitcount commit(s))
EOF
append_todo_help
git stripspace --comment-lines >>"$todo" <<\EOF
--
2.2.0.rc0.18.g1c09766
next prev parent reply other threads:[~2014-12-07 20:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <md5:H/n6RCGs7zvP8Sp7z7ElnQ==>
2014-11-10 16:32 ` [PATCH] Show number of commits being rebased interactively Onno Kortmann
2014-12-05 21:37 ` Junio C Hamano
2014-12-07 20:56 ` Onno Kortmann [this message]
2014-12-09 19:03 ` Junio C Hamano
2014-12-10 18:16 ` Onno Kortmann
2014-11-09 13:24 Onno Kortmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5484BEFD.7060906@gmx.net \
--to=onno@gmx.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).