git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Hostetler <git@jeffhostetler.com>
To: "Jakub Narębski" <jnareb@gmail.com>, git@vger.kernel.org
Cc: gitster@pobox.com, Johannes.Schindelin@gmx.de,
	Jeff Hostetler <jeffhost@microsoft.com>
Subject: Re: [PATCH v3 7/8] status: update git-status.txt for --porcelain=v2
Date: Tue, 2 Aug 2016 12:29:45 -0400	[thread overview]
Message-ID: <57A0CA79.7040809@jeffhostetler.com> (raw)
In-Reply-To: <4afec4ce-ecb4-dcce-b8f5-c37844d963d8@gmail.com>



On 08/02/2016 11:19 AM, Jakub Narębski wrote:
> W dniu 01.08.2016 o 17:39, Jeff Hostetler pisze:
>> On 07/30/2016 01:22 PM, Jakub Narębski wrote:
>>> W dniu 26.07.2016 o 23:11, Jeff Hostetler pisze:
>>>
>>> This is a nice change, available because of lack of backward
>>> compatibility with v1.  The porcelain v2 format branch-related
>>> information could be enhanced without risk of breaking parsers,
>>> or having new information put at the end even if it does not fit
>>> there (like in previous iteration).
>>>
>>> One thing that can serve as goal for the series is using the
>>> question: would it make __git_ps1() from git-prompt.sh be able
>>> to render fully decorated prompt with all bells and whistles,
>>> and with all combinations of options.  Thus beside upstream
>>> in the future we might want SVN upstream, and/or pushed-to
>>> remote branch (and remote push upstream repository), etc.
>>>
>>> But that's for the future (and it is possible for the future)...
>>>
>>
>> Yes, I was hoping to be able to simplify and/or speed up
>> __git_ps1() with this data.  "Namespacing" the branch data
>> here.  And then later add the state data (in a merge,
>> in a rebase, and etc.) in a series of "# state.*" headers.
>> And so on, until we get everything that __git_ps1() needs.
>> However, to really make that work, we might want to add
>> a --no-scan (or minimial scan) option, to just return the
>> header data, since __git_ps1() doesn't care about the list
>> of changes.
>
> But __git_ps1() with GIT_PS1_SHOWDIRTYSTATE would want to know
> if there are unstaged and staged changes, and with
> GIT_PS1_SHOWUNTRACKEDFILES it would want to know if there
> are untracked (unknown) files, isn't it?
>
> And GIT_PS1_SHOWSTASHSTATE would want to know if there is
> something stashed, but I guess it is outside the remit of
> git-status...
>
> Also, __git_ps1() uses colors from git-status, so if it
> is switched to use --porcelain=v2, then there should be an
> option to turn the color on, isn't it?
>

All of these are good questions.  But __git_ps1() is outside my
scope right now.  All I was saying above is that by making
the branch details available here and, later, extending V2
output by adding other such headers to the output, we could
try to remove much of the business logic in __git_ps1() and
hopefully reduce it to just formatting and coloring the prompt
using the computed result from status.

But I've only skimmed __git_ps1() (and it's a little dense),
so I'd have to study it more before I could answer all of your
questions.

Thanks,
Jeff





  reply	other threads:[~2016-08-02 16:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-26 21:11 [PATCH v3 0/8] status: V2 porcelain status Jeff Hostetler
2016-07-26 21:11 ` [PATCH v3 1/8] status: rename long-format print routines Jeff Hostetler
2016-07-26 21:11 ` [PATCH v3 2/8] status: cleanup API to wt_status_print Jeff Hostetler
2016-07-26 21:11 ` [PATCH v3 3/8] status: support --porcelain[=<version>] Jeff Hostetler
2016-07-26 21:11 ` [PATCH v3 4/8] status: per-file data collection for --porcelain=v2 Jeff Hostetler
2016-07-26 21:11 ` [PATCH v3 5/8] status: print per-file porcelain v2 status data Jeff Hostetler
2016-07-26 21:11 ` [PATCH v3 6/8] status: print branch info with --porcelain=v2 --branch Jeff Hostetler
2016-07-26 21:11 ` [PATCH v3 7/8] status: update git-status.txt for --porcelain=v2 Jeff Hostetler
2016-07-30 17:22   ` Jakub Narębski
2016-08-01 15:39     ` Jeff Hostetler
2016-08-02 15:19       ` Jakub Narębski
2016-08-02 16:29         ` Jeff Hostetler [this message]
2016-07-26 21:11 ` [PATCH v3 8/8] status: tests " Jeff Hostetler

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=57A0CA79.7040809@jeffhostetler.com \
    --to=git@jeffhostetler.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jeffhost@microsoft.com \
    --cc=jnareb@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).