git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Duy Nguyen <pclouds@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Git Mailing List <git@vger.kernel.org>,
	Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH] ls-files: do not trust stat info if lstat() fails
Date: Sat, 5 Apr 2014 15:03:31 +0700	[thread overview]
Message-ID: <CACsJy8CTv5jZKjqq6fAJeVj-sqJHAF761V6TofVWs-V5GPnbcA@mail.gmail.com> (raw)
In-Reply-To: <xmqqvbuqqstn.fsf@gitster.dls.corp.google.com>

On Thu, Apr 3, 2014 at 11:30 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Duy Nguyen <pclouds@gmail.com> writes:
>
>> On Thu, Apr 3, 2014 at 1:15 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>> I am guessing that, even though this was discovered during the
>>> development of list-files, is a fix applicable outside the context
>>> of that series.
>>>
>>> I do think the patched result is an improvement than the status quo,
>>> but at the same time, I find it insufficient in the context of the
>>> whole codepath.  What if errno were other than ENOENT and we were
>>> told to show_deleted (with or without show_modified)?  We would end
>>> up saying the path was deleted and modified at the same time, when
>>> we do not know either is or is not true at all, because of the
>>> failure to lstat() the path.
>>>
>>> Wouldn't it be saner to add tag_unknown and do something like this
>>> instead, I wonder?
>>
>> Or even better to show an error message when the error code is
>> unexpected? The unkown tag '!' says "there are problems" but if it
>> shows up sort of permanently, '!' won't help much, I think.
>
> I am OK with that approach, but then one question remains: should we
> say it is deleted, modified, both, or neither?

The question is moot if the user does not ignore stderr because they
should just ignore those error-reported entries. If they do
2>/dev/null, I think we should err on the safe side and say modified.
We only say deleted if lstat() returns ENOENT or ENOTDIR like in your
patch.
-- 
Duy

  reply	other threads:[~2014-04-05  8:04 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-20 10:15 [PATCH/RFC 0/8] git-ls Nguyễn Thái Ngọc Duy
2014-03-20 10:15 ` [PATCH 1/8] Import $LS_COLORS parsing code from coreutils Nguyễn Thái Ngọc Duy
2014-03-20 19:09   ` David Tran
2014-03-21 11:54     ` Duy Nguyen
2014-03-21 20:01       ` David Tran
2014-03-20 10:15 ` [PATCH 2/8] ls_colors.c: a bit of document on print_color_indicator input Nguyễn Thái Ngọc Duy
2014-03-20 10:15 ` [PATCH 3/8] ls_colors.c: enable coloring on u+x files Nguyễn Thái Ngọc Duy
2014-03-20 11:46   ` Matthieu Moy
2014-03-20 12:14     ` Duy Nguyen
2014-03-20 17:41       ` Junio C Hamano
2014-03-21 11:52         ` Duy Nguyen
2014-03-20 10:15 ` [PATCH 4/8] ls_colors.c: new color descriptors Nguyễn Thái Ngọc Duy
2014-03-20 10:15 ` [PATCH 5/8] ls-files: add --color to highlight based on $LS_COLORS Nguyễn Thái Ngọc Duy
2014-03-20 10:15 ` [PATCH 6/8] ls-files: add --column Nguyễn Thái Ngọc Duy
2014-03-25 11:34   ` Matthieu Moy
2014-03-20 10:15 ` [PATCH 7/8] ls-files: support --max-depth Nguyễn Thái Ngọc Duy
2014-03-25  8:55   ` Matthieu Moy
2014-03-25 11:15     ` Duy Nguyen
2014-03-27 14:36       ` Duy Nguyen
2014-03-28 13:52       ` Matthieu Moy
2014-03-28 14:15         ` Duy Nguyen
2014-03-28 14:38           ` Duy Nguyen
2014-03-20 10:15 ` [PATCH 8/8] Add git-ls, a user friendly version of ls-files and more Nguyễn Thái Ngọc Duy
2014-03-20 11:56   ` Matthieu Moy
2014-03-26 13:48 ` [PATCH v2 00/17] git-ls Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 01/17] ls_colors.c: add $LS_COLORS parsing code Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 02/17] ls_colors.c: parse color.ls.* from config file Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 03/17] ls_colors.c: add function to color a file name Nguyễn Thái Ngọc Duy
2014-03-26 19:14     ` Eric Sunshine
2014-03-26 13:48   ` [PATCH v2 04/17] ls_colors.c: highlight submodules like directories Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 05/17] ls-files: buffer full item in strbuf before printing Nguyễn Thái Ngọc Duy
2014-03-26 19:22     ` Eric Sunshine
2014-03-26 23:18       ` Duy Nguyen
2014-03-27  5:22         ` Eric Sunshine
2014-03-26 13:48   ` [PATCH v2 06/17] ls-files: add --color to highlight file names Nguyễn Thái Ngọc Duy
2014-03-26 19:13     ` Eric Sunshine
2014-03-26 23:15       ` Duy Nguyen
2014-03-28  0:49         ` Eric Sunshine
2014-03-26 13:48   ` [PATCH v2 07/17] ls-files: add --column Nguyễn Thái Ngọc Duy
2014-03-26 19:46     ` Eric Sunshine
2014-03-26 13:48   ` [PATCH v2 08/17] ls-files: support --max-depth Nguyễn Thái Ngọc Duy
2014-03-26 19:50     ` Eric Sunshine
2014-03-26 13:48   ` [PATCH v2 09/17] ls-files: split main ls-files logic into ls_files() function Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 10/17] Add git-ls, a user friendly version of ls-files and more Nguyễn Thái Ngọc Duy
2014-03-26 20:16     ` Eric Sunshine
2014-03-26 13:48   ` [PATCH v2 11/17] ls: -u does not imply showing stages Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 12/17] ls: add -R/--recursive short for --max-depth=-1 Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 13/17] ls: add -1 short for --no-column in the spirit of GNU ls Nguyễn Thái Ngọc Duy
2014-03-28  3:52     ` Eric Sunshine
2014-03-26 13:48   ` [PATCH v2 14/17] ls: add -t back Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 15/17] ls: sort output and remove duplicates Nguyễn Thái Ngọc Duy
2014-03-26 13:48   ` [PATCH v2 16/17] ls: do not show duplicate cached entries Nguyễn Thái Ngọc Duy
2014-03-28  4:04     ` Eric Sunshine
2014-03-28 13:18       ` [PATCH] ls-files: do not trust stat info if lstat() fails Nguyễn Thái Ngọc Duy
2014-04-02 18:15         ` Junio C Hamano
2014-04-03 12:40           ` Duy Nguyen
2014-04-03 16:30             ` Junio C Hamano
2014-04-05  8:03               ` Duy Nguyen [this message]
2014-04-07 17:13                 ` Junio C Hamano
2014-03-26 13:48   ` [PATCH v2 17/17] ls: show directories as well as files Nguyễn Thái Ngọc Duy
2014-03-30 13:55   ` [PATCH v3 00/18] git-ls Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 01/18] ls_colors.c: add $LS_COLORS parsing code Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 02/18] ls_colors.c: parse color.ls.* from config file Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 03/18] ls_colors.c: add a function to color a file name Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 04/18] ls_colors.c: highlight submodules like directories Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 05/18] ls-files: buffer full item in strbuf before printing Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 06/18] ls-files: add --color to highlight file names Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 07/18] ls-files: add --column Nguyễn Thái Ngọc Duy
2014-03-30 13:55     ` [PATCH v3 08/18] ls-files: support --max-depth Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 09/18] Add git-list-files, a user friendly version of ls-files and more Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 10/18] list-files: -u does not imply showing stages Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 11/18] list-files: add -R/--recursive short for --max-depth=-1 Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 12/18] list-files: add -1 short for --no-column Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 13/18] list-files: add -t back Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 14/18] list-files: sort output and remove duplicates Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 15/18] list-files: do not show duplicate cached entries Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 16/18] list-files: show directories as well as files Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 17/18] list-files: add -F/--classify Nguyễn Thái Ngọc Duy
2014-03-30 13:56     ` [PATCH v3 18/18] list-files -F: show submodules with the new indicator '&' Nguyễn Thái Ngọc Duy

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=CACsJy8CTv5jZKjqq6fAJeVj-sqJHAF761V6TofVWs-V5GPnbcA@mail.gmail.com \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sunshine@sunshineco.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).