git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v5 0/3] rebase: give precise error messages

From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Date
Dec 16, 2017, 09:03 UTC
Message-ID
<20171216090319.11902-1-kaartic.sivaraam@gmail.com>
In-Reply-To
<20171127172104.5796-1-kaartic.sivaraam@gmail.com>

The tip of the v4 of this patch can be found at [1]. It was a revamp sent by Junio mostly touching [PATCH v2 1/3] of the series. I've updated it a little to add in something of my taste ;-)

There's only one concern that still bothers me a little. With the current code you would see the following,

    $ git rebase origin/maint 3013dff86
    Current branch 3013dff86 is up to date.

That doesn't look good, does it? How about we overcome the issue of handling this case and the HEAD case done in 3/3 by simplifying the message as shown in the following diff,

diff --git a/git-rebase.sh b/git-rebase.sh
index 0f379ba2b..4d5400034 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -601,11 +601,11 @@ then
                test -z "$switch_to" ||
                GIT_REFLOG_ACTION="$GIT_REFLOG_ACTION: checkout $switch_to" \
                        git checkout -q "$switch_to" --
-               say "$(eval_gettext "Current branch \$branch_name is up to date.")"
+               say "$(eval_gettext "\$branch_name is up to date.")"
                finish_rebase
                exit 0
        else
-               say "$(eval_gettext "Current branch \$branch_name is up to date, rebase forced.")"
+               say "$(eval_gettext "\$branch_name is up to date, rebase forced.")"
        fi
 fi

I guess this one is much better than 3/3 of this series as it handles
any kind of case by making no assumptions.

Thoughts ??


Note: In case you're wondering where's v3 of this series, there wasn't
a v3 series but there was a v3 PATCH of 3/3 [2].

References:

[1]: <xmqq1sjxt3tz.fsf@gitster.mtv.corp.google.com>

[2]: <20171201060935.19749-1-kaartic.sivaraam@gmail.com>

Here's the interdiff between v4 and v5,

diff --git a/git-rebase.sh b/git-rebase.sh
index f3dd86443..fd72a35c6 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -518,7 +518,7 @@ case "$onto_name" in
 esac
 
 # If the branch to rebase is given, that is the branch we will rebase
-# $branch_name -- branch being rebased, or HEAD (already detached)
+# $branch_name -- branch/commit being rebased, or HEAD (already detached)
 # $orig_head -- commit object name of tip of the branch before rebasing
 # $head_name -- refs/heads/<that-branch> or "detached HEAD"
 switch_to=
@@ -602,7 +602,7 @@ then
                GIT_REFLOG_ACTION="$GIT_REFLOG_ACTION: checkout $switch_to" \
                        git checkout -q "$switch_to" --
                if test "$branch_name" = "HEAD" &&
-                        !(git symbolic-ref -q HEAD)
+                        ! git symbolic-ref -q HEAD
                then
                        say "$(eval_gettext "HEAD is up to date.")"
                else
@@ -612,7 +612,7 @@ then
                exit 0
        else
                if test "$branch_name" = "HEAD" &&
-                        !(git symbolic-ref -q HEAD)
+                        ! git symbolic-ref -q HEAD
                then
                        say "$(eval_gettext "HEAD is up to date, rebase forced.")"
                else



Kaartic Sivaraam (3):
  rebase: consistently use branch_name variable
  rebase: distinguish user input by quoting it
  rebase: rebasing can also be done when HEAD is detached

 git-rebase.sh | 35 +++++++++++++++++++++++++----------
 1 file changed, 25 insertions(+), 10 deletions(-)
-- 
2.15.0.531.g2ccb3012c
Previous: Junio C HamanoNext: Kaartic Sivaraam
Message 15 of 18 in “rebase: rebasing can also be done when HEAD is detached”
  1. rebase: rebasing can also be done when HEAD is detachedKaartic Sivaraam, Nov 21, 2017
  2. Junio C HamanoNov 22, 2017
  3. 0/3 rebase: give precise error messageKaartic Sivaraam, Nov 27, 2017
  4. 1/3 rebase: use a more appropriate variable nameKaartic Sivaraam, Nov 27, 2017
  5. 2/3 rebase: distinguish user input by quoting itKaartic Sivaraam, Nov 27, 2017
  6. 3/3 rebase: rebasing can also be done when HEAD is detachedKaartic Sivaraam, Nov 27, 2017
  7. Junio C HamanoNov 28, 2017
  8. Kaartic SivaraamNov 28, 2017
  9. 3/3 rebase: rebasing can also be done when HEAD is detachedKaartic Sivaraam, Dec 1, 2017
  10. Junio C HamanoNov 28, 2017
  11. Kaartic SivaraamNov 28, 2017
  12. Junio C HamanoNov 29, 2017
  13. Kaartic SivaraamNov 29, 2017
  14. Junio C HamanoNov 29, 2017
  15. 0/3 rebase: give precise error messagesKaartic Sivaraam, Dec 16, 2017
  16. 1/3 rebase: consistently use branch_name variableKaartic Sivaraam, Dec 16, 2017
  17. 2/3 rebase: distinguish user input by quoting itKaartic Sivaraam, Dec 16, 2017
  18. 3/3 rebase: rebasing can also be done when HEAD is detachedKaartic Sivaraam, Dec 16, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.