Re: [RFC/PATCH] git-what: explain what to do next
From: Santi Béjar <hidden>
Date: 2016-06-15 22:44:39
On Tue, May 27, 2008 at 10:51 PM, Junio C Hamano [off-list ref] wrote:
But a problem I see with the patch as an implementation of "git-what" is that some commands use other commands as their internal implementation details. For example, when you are in the middle of a "git rebase" session, which might be using "git am" as its internal implementation detail, if you ask the "are you in the middle of doing something, and if so how can I continue?" question (which is what the "git-cmd --what" is all about) to "git am", before you ask the same question to "git rebase", "am" could say "Yeah, I have applied a few patches successfully but gave control back to the user to resolve conflicts while applying this patch", which may be a truthful statement from "git am"'s point of view, but is not a useful information from the end user's point of view, as all s/he typed was "git rebase". In addition, if Porcelain X uses Porcelain Y as its internal implementation, the series of commands that need to be followed to continue from a particular sequence point might be different between the case where the toplevel request was Y and the case where it was X. Not just X needs to know that it uses Y, Y also needs to know that the toplevel command the end user gave could be X which called it and behave differently. So a nice "each command knows what its doing" separation cannot really solve everything in practice.
This is the job of the git-what, so it first call "git rebase --what" and then "git am --what", and the individual "git cmd --what" can be declared internal.
In other words, "git-X --what" could give a guidance to the "I've done X, now what can I do?" situation, but it by itself cannot be used as a basis of "git-what" to answer "I'm totally lost and I do not know what I was doing. Where was I and what should I do next?" question.
I think it does, it is exactly what my patch does, IMHO. Santi