Re: [PATCH 5/6] status: do not depend on flaky reflog messages
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:45
Ramkumar Ramachandra [off-list ref] writes:
Junio C Hamano wrote:quoted
I am only saying that the last test the commit adds must be kept unbroken. I am also saying that, even though that commit did not add a test for "detached from" case, we should add something like the attached to protect the behaviour. These two are sacred. What happens to be shown during a stopped "git rebase" is not.... The question is: what do _you_ want now?
It should be fairly clear what _I_ want now. Re-read the first four lines you quoted above.
Read the various "HEAD detached from/to" messages in the rebase tests in t/status-help and tell me that they make some sense.
Again, re-read the part you did _not_ quote before those four lines.
I do not think all of them make lot of sense; some of them may.
Unless you are also tackling the topic of the other thread:
http://thread.gmane.org/gmane.comp.version-control.git/227432/focus=227469
(which I would not suggest to do in this topic), what these lines
say during "rebase" does not really matter, as far as your topic is
concerned.
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
(2) Starting from the same assumption as above, but try to minimize
the semantics change to user-visible behaviour this series
makes.
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.
The "something along this line" patch was an illustration of how
the beginning of the effort for (2) would look like.
As I already said, I could see us going either way. If we can do
(2), that may be better, but at end it would not matter that much as
long as we will be doing the other topic, too.