zsh-workers
 help / color / mirror / code / Atom feed
From: Frank Terbeck <ft@bewatermyfriend.org>
To: zsh-workers@zsh.org
Subject: Re: [PATCH] vcs_info git: Fix stagedstr for empty repos
Date: Mon, 02 Jun 2014 10:14:22 +0200	[thread overview]
Message-ID: <87vbsj4tk1.fsf@ft.bewatermyfriend.org> (raw)
In-Reply-To: <20140601022653.GE1820@tarsus.local2> (Daniel Shahaf's message of "Sun, 1 Jun 2014 02:26:53 +0000")

Hello Daniel,

Daniel Shahaf wrote:
> vcs_info git false-negatives to detect staged changes in a repository that has
> no commits.  Attached a patch for that.

Great!

> The patch includes two variants for computing the "has staged changes?" bit in
> empty repositories: one via 'git ls-files' and one via git's empty tree.
>
> - The output of ls-files isn't O(1), but I tested with a 3000-file tree and
>   didn't notice a slowdown, so I suppose it's acceptable.
>
> - 'diff-index --cached --quiet $empty_tree' is an O(1) operation, but I am not
>   sure whether it is forwards compatible with future versions of Git, i.e.,
>   whether it's a hack that happens to work or a legitimate use of git's API.
>
> WDYT?

I'm with Aaron on this one. IIRC, git uses the diff-index command in
various places, so I don't think it'll be removed anytime soon. Unless
you got other insight (personally, I'm not following the development of
any version control system very closely anymore), I suppose we don't
need two variants of the same thing in the code.

If you don't want the second variant to be forgotten, you can always put
it into the change's commit message. But in the code I'd just use the
variant that you think is faster (if only theoretically).


Regards, Frank

-- 
In protocol design, perfection has been reached not when there is
nothing left to add, but when there is nothing left to take away.
                                                  -- RFC 1925


  parent reply	other threads:[~2014-06-02  8:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-01  2:26 Daniel Shahaf
2014-06-01 12:33 ` Aaron Schrab
2014-06-02  8:14 ` Frank Terbeck [this message]
2014-06-02 13:00   ` [PATCH] " Daniel Shahaf
2014-06-02 13:19     ` Frank Terbeck
2014-06-02 18:21       ` Daniel Shahaf

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=87vbsj4tk1.fsf@ft.bewatermyfriend.org \
    --to=ft@bewatermyfriend.org \
    --cc=zsh-workers@zsh.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

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).