Re: [PATCH 5/6] status: do not depend on flaky reflog messages
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Jun 15, 2013, 12:08 UTC
- Message-ID
- <CALkWK0=R8h0_FUYMUFQ_qGC1Lf_Xvu84qigznYUK5MtzP8usPQ@mail.gmail.com>
- In-Reply-To
- <7vsj0jln23.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
Show 10 quoted lines
> 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?