From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Santi Béjar" <sbejar@gmail.com>, git@vger.kernel.org
Subject: Re: [RFC/PATCH] git-what: explain what to do next
Date: Tue, 27 May 2008 13:51:41 -0700 [thread overview]
Message-ID: <7vwslfzd0i.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <alpine.DEB.1.00.0805271411520.30431@racer> (Johannes Schindelin's message of "Tue, 27 May 2008 14:12:44 +0100 (BST)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>> > However, I think it would make sense to push for that
>> > .dotest,.git/.dotest-merge -> .git/rebase change _before_ having
>> > anything like git-whazzup.sh.
>>
>> That's a problem of the single command approach.
>
> Sure it is. But cluttering up the commands for something that is not
> really proven to be wanted by many is IMO inferior.
I do not necessarily see them as cluttering, although I'd agree that
changes to some scripts may look a bit too intrusive.
You _could_ argue that the handling of --what option is part of the
protocol for commands that want to implement a workflow with sequencing
elements, just like we have a protocol for commands that want to work from
a subdirectory is to call setup_git_directory() to have it cd up to the
top of the work tree and prepend the prefix to all user supplied paths.
However, that new protocol this patch introduces need to be documented
clearly. It's the new contract "git-what" wants to impose on commands
with sequencing elements.
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.
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.
next prev parent reply other threads:[~2008-05-27 20:53 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-27 8:34 [RFC/PATCH] git-what: explain what to do next Santi Béjar
2008-05-27 10:53 ` Johannes Schindelin
2008-05-27 12:58 ` Santi Béjar
2008-05-27 13:12 ` Johannes Schindelin
2008-05-27 13:37 ` Santi Béjar
2008-05-27 13:52 ` Stephen R. van den Berg
2008-05-27 14:21 ` Santi Béjar
2008-05-27 18:08 ` Steven Walter
2008-05-27 20:24 ` Junio C Hamano
2008-05-27 20:51 ` Junio C Hamano [this message]
2008-05-28 9:12 ` Santi Béjar
2008-05-29 4:39 ` Christian Couder
2008-05-29 5:09 ` Junio C Hamano
2008-05-29 14:56 ` Jon Loeliger
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=7vwslfzd0i.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=sbejar@gmail.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).