git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ramkumar Ramachandra <artagnon@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Git List <git@vger.kernel.org>
Subject: Re: [PATCH 5/6] status: do not depend on flaky reflog messages
Date: Sat, 15 Jun 2013 17:38:39 +0530	[thread overview]
Message-ID: <CALkWK0=R8h0_FUYMUFQ_qGC1Lf_Xvu84qigznYUK5MtzP8usPQ@mail.gmail.com> (raw)
In-Reply-To: <7vsj0jln23.fsf@alter.siamese.dyndns.org>

Junio C Hamano wrote:
> Two possibilities:
>
>  (1) Assume that the other thread will produce a more reasonable
>      semantics when finished; perhaps the first line will go away
>      entirely, or maybe it would say something like "# Rebasing;
>      head at $commit".
>
>      Your topic does not _care_ what it would say, so you tweak the
>      "status" test that is done during "rebase" so that they
>      ignore the first lines; or

You said you didn't want to regress to show senseless information, and
I agreed with that.  What is wrong with the patch I showed in the
previous email?  Smudging is a bad hack, and must only be used as a
last resort: when an another topics updates status to say something
sensible, it will have to unsmudge the tests.

diff --git a/wt-status.c b/wt-status.c
index bf84a86..99c55e3 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -1182,7 +1182,7 @@ void wt_status_print(struct wt_status *s)
                                if (!get_sha1("HEAD", sha1) &&
                                    !hashcmp(sha1, state.detached_sha1))
                                        on_what = _("HEAD detached at ");
-                               else
+                               else if (!state.rebase_in_progress)
                                        on_what = _("HEAD detached from ");
                        } else {
                                branch_name = "";

>  (2) Starting from the same assumption as above, but try to minimize
>      the semantics change to user-visible behaviour this series
>      makes.

The "try to minimize" is a somewhat admirable goal, but I have shown
that your midway solution is wrong.  Either dedicate a lot of time and
effort towards improving status for rebase, or don't attempt it.

>      That means that even though the _primary_ thing you want to do
>      is to tweak "rebase" and its internal use of "checkout" in such
>      a way that reflog will not record the implementation-detail
>      checkout (because that will affect the next "checkout -"), make
>      sure that "status" while doing "rebase" reports where the
>      internal "checkout" of $ONTO detached HEAD from/at.

Unless we change the first line drastically to say: "rebase in
progress: rebasing onto $ONTO" (or something), I don't think this
makes sense.  And if we were to do that, why not do it properly like
"rebase ($N/$M): onto $ONTO, upstream $UPSTREAM, branch $BRANCH"?
Other people on a different thread are already handling that, and I am
not interested.

So, you have three simple choices now:

1. Accept the simple patch I proposed above.
2. Propose an alternative patch quickly.  *Patch*.  No more English.
3. Reject all patches, and leave me no choice but to smudge.

Which one is it going to be?

  reply	other threads:[~2013-06-15 12:09 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-13 13:32 [PATCH 0/6] Fix git checkout - with rebase Ramkumar Ramachandra
2013-06-13 13:32 ` [PATCH 1/6] t/checkout-last: checkout - doesn't work after rebase Ramkumar Ramachandra
2013-06-13 17:46   ` Junio C Hamano
2013-06-13 18:30     ` Ramkumar Ramachandra
2013-06-13 20:38       ` Junio C Hamano
2013-06-13 13:32 ` [PATCH 2/6] rebase: prepare to write reflog message for checkout Ramkumar Ramachandra
2013-06-13 17:51   ` Junio C Hamano
2013-06-13 18:05     ` Ramkumar Ramachandra
2013-06-13 13:32 ` [PATCH 3/6] rebase -i: " Ramkumar Ramachandra
2013-06-13 17:52   ` Junio C Hamano
2013-06-13 13:32 ` [PATCH 4/6] wt-status: remove unused field in grab_1st_switch_cbdata Ramkumar Ramachandra
2013-06-13 17:54   ` Junio C Hamano
2013-06-13 13:32 ` [PATCH 5/6] status: do not depend on flaky reflog messages Ramkumar Ramachandra
2013-06-13 18:07   ` Junio C Hamano
2013-06-13 18:15     ` Ramkumar Ramachandra
2013-06-13 18:48     ` Ramkumar Ramachandra
2013-06-13 21:02       ` Junio C Hamano
2013-06-14  6:27         ` Ramkumar Ramachandra
2013-06-14 13:52           ` Junio C Hamano
2013-06-14 14:01             ` Ramkumar Ramachandra
2013-06-14 14:52               ` Junio C Hamano
2013-06-14 15:08                 ` Ramkumar Ramachandra
2013-06-14 16:31                   ` Junio C Hamano
2013-06-14 21:36                     ` Ramkumar Ramachandra
2013-06-14 22:16                       ` Junio C Hamano
2013-06-14 22:36                       ` Junio C Hamano
2013-06-14 23:07                         ` Junio C Hamano
2013-06-15  8:02                           ` Ramkumar Ramachandra
2013-06-15  9:58                             ` Junio C Hamano
2013-06-15 12:13                               ` Ramkumar Ramachandra
2013-06-15  8:44                         ` Ramkumar Ramachandra
2013-06-15  9:51                           ` Junio C Hamano
2013-06-15 12:08                             ` Ramkumar Ramachandra [this message]
2013-06-16  5:57                               ` Junio C Hamano
2013-06-16  6:07                                 ` Ramkumar Ramachandra
2013-06-15 10:26                           ` Junio C Hamano
2013-06-13 13:32 ` [PATCH 6/6] checkout: respect GIT_REFLOG_ACTION Ramkumar Ramachandra

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='CALkWK0=R8h0_FUYMUFQ_qGC1Lf_Xvu84qigznYUK5MtzP8usPQ@mail.gmail.com' \
    --to=artagnon@gmail.com \
    --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).