From: Alex Riesen <raa.lkml@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Dirk Süsserott" <newsletter@dirk.my1.cc>,
"Git Mailing List" <git@vger.kernel.org>
Subject: Re: [PATCH] Make the exit code of add_file_to_index actually useful
Date: Tue, 13 May 2008 00:48:44 +0200 [thread overview]
Message-ID: <20080512224844.GI3128@steel.home> (raw)
In-Reply-To: <7viqxjxj0h.fsf@gitster.siamese.dyndns.org>
Junio C Hamano, Tue, May 13, 2008 00:19:42 +0200:
> Alex Riesen <raa.lkml@gmail.com> writes:
>
> >> Why is this even needed to begin with? I am aware of Dirk's original
> >> issue discussed elsewhere, but we try fairly hard to be A-O-N when we can
> >> afford to, and this option deliberately breaks it. What is the real
> >> reason why such an unreadable (either for privilege or for I/O error)
> >> file should not live in .gitignore?
> >
> > Another program keeps the file open. There is an exclusive mode for
> > opening files, which locks the files for everyone. I believe it is
> > even default mode, unless selected otherwise.
>
> I would understand there can be some files that cannot be read. But when
> there is such a file, why is it Ok to ignore an error to update the
> contents from that file if/when the user asks to index the current
> contents, provided if the contents of that file is to be tracked? Isn't
> it the true cause of the problem that the file is being tracked but it
> shouldn't?
No, I don't think so. Consider "git add dir/". It is _not_ 1 (one)
operation. It is many operations (add every file in the "dir/"). Why
should all of them be considered failed just because the third file
from the bottom could not be read (and the user may have not even seen
it, because it wasn't there before, like a temporary file from Excel).
And for a user (for me, at least) "git add" is an intermediate
operation anyway: there'll be a review in form "git status" or "git
commit" afterwards. And there was a clear (sadly invisible with
--verbose) warning regarding some file having problems.
> >> Now when somebody either forgets to check the return value from this
> >> function, or deliberately ignores it, the resulting index will not match
> >> what the code is told to update it with.
> >
> > I think I got them all in the current code...
>
> Not checking the return code from this function that now diagnoses and
> returns error code is a bug as you said, and the codebase after your patch
> may not have that bug.
>
> But mistakes happen.
>
> That is why I am asking why it is Ok to sometimes ignore the error to
> begin with. If we do not need to ignore this condition, then new callers
> have one less thing to worry about, and we would have one less cause of an
> unnecessary bug.
For the reasons outlined? Where the user is in a situation when he has
to override the safety checks. Just because it is more convenient to
type --ignore-errors than edit .gitignore and add there a whimsical
patterns like "~*.xls", which one day have to be overridden because
that project got an excel file which begins with "~"?
I am not suggesting making it default. And actually, the last patch,
with a config for add.ignore-errors option, better be ignored - it was
just too simple to code up. I never used the option. I had cases for
--ignore-errors, sadly.
next prev parent reply other threads:[~2008-05-12 22:49 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-01 13:46 How to "git add ." when some files are not accessible (permission denied)? Dirk Süsserott
2008-03-02 1:19 ` Jeff King
2008-03-03 19:17 ` Dirk Süsserott
2008-03-03 20:06 ` Junio C Hamano
2008-03-03 20:32 ` Dirk Süsserott
2008-03-02 15:41 ` Alex Riesen
2008-03-02 15:42 ` [PATCH] Make the exit code of add_file_to_index actually useful Alex Riesen
2008-03-02 15:43 ` [PATCH] Extend interface of add_files_to_cache to allow ignore indexing errors Alex Riesen
2008-03-02 15:44 ` [PATCH] Add --ignore-errors to git-add to allow it to skip files with read errors Alex Riesen
2008-03-02 15:44 ` [PATCH] Add a test for git-add --ignore-errors Alex Riesen
2008-03-02 15:57 ` [PATCH] Make the exit code of add_file_to_index actually useful Johannes Schindelin
2008-03-02 16:59 ` Junio C Hamano
2008-03-02 21:42 ` Alex Riesen
2008-03-02 22:04 ` Joachim B Haga
2008-03-03 6:57 ` Alex Riesen
2008-05-12 17:56 ` Alex Riesen
2008-05-12 17:57 ` Alex Riesen
2008-05-12 17:58 ` [PATCH] Extend interface of add_files_to_cache to allow ignore indexing errors Alex Riesen
2008-05-12 17:58 ` [PATCH] Add --ignore-errors to git-add to allow it to skip files with read errors Alex Riesen
2008-05-12 17:58 ` [PATCH] Add a test for git-add --ignore-errors Alex Riesen
2008-05-12 17:59 ` [PATCH] Add a config option to ignore errors for git-add Alex Riesen
2008-05-13 3:48 ` [PATCH] Add a test for git-add --ignore-errors Junio C Hamano
2008-05-13 6:04 ` Alex Riesen
2008-05-13 6:05 ` Junio C Hamano
2008-05-13 22:28 ` Alex Riesen
2008-05-12 18:42 ` [PATCH] Make the exit code of add_file_to_index actually useful Junio C Hamano
2008-05-12 20:54 ` Alex Riesen
2008-05-12 22:19 ` Junio C Hamano
2008-05-12 22:48 ` Alex Riesen [this message]
2008-05-12 23:32 ` Junio C Hamano
2008-05-13 6:00 ` Alex Riesen
2008-03-03 18:01 ` Daniel Barkalow
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=20080512224844.GI3128@steel.home \
--to=raa.lkml@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=newsletter@dirk.my1.cc \
/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).