From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 4/6] require_clean_work_tree: ensure that the index was read
Date: Tue, 30 Aug 2016 12:50:33 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.20.1608301241590.129229@virtualbox> (raw)
In-Reply-To: <xmqqmvjv6uxn.fsf@gitster.mtv.corp.google.com>
Hi Junio,
On Mon, 29 Aug 2016, Junio C Hamano wrote:
> Johannes Schindelin <johannes.schindelin@gmx.de> writes:
>
> > The function would otherwise pretend to work fine, but totally ignore
> > the working directory.
>
> s/^T/Unless the caller has already read the index, t/;
Changed. (I also removed the "otherwise" which would sound funny
otherwise.)
> I am not sure if it should be left as the responsibility of the
> caller (i.e. check the_index.initialized to bark at a caller that
> forgets to read from an index) or it is OK to unconditionally read
> from $GIT_INDEX_FILE in a truly libified function. A caller that
> wants to read from a custom (temporary) index file can choose to
> make sure it does read_inddex_from() from its custom file before
> calling this function, but if it forgets to do so, the penalty is
> severe than ordinary callers who would have read from the normal
> index file anyway.
>
> Even though the word-lego issue would make this particular API not
> yet suitable, "who is responsible for reading the index" is an
> orthogonal issue that we can discuss even on this version, so I
> thought I'd bring it up.
It is orthogonal alright. So I won't act on it, but just add my thoughts:
We might want to consider thinking about introducing a more consistent
internal API. This is even more orthogonal to the patch under discussion
than just teaching require_clean_work_tree() about different index files,
of course.
It might very well pay off in the future were we to design a more unified
"look & feel" to the API e.g. by putting more restrictions on the order of
parameters, required "int" return values for functions that may fail, a
unified error handling that does not necessarily print to stderr.
Having said that, I do not have time to take lead on that, either. :-)
Ciao,
Dscho
next prev parent reply other threads:[~2016-08-30 10:50 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-25 15:06 [PATCH 0/6] Pull out require_clean_work_tree() functionality from builtin/pull.c Johannes Schindelin
2016-08-25 15:06 ` [PATCH 1/6] pull: drop confusing prefix parameter of die_on_unclean_work_tree() Johannes Schindelin
2016-08-29 22:41 ` Junio C Hamano
2016-08-25 15:06 ` [PATCH 2/6] pull: make code more similar to the shell script again Johannes Schindelin
2016-08-29 22:52 ` Junio C Hamano
2016-08-30 17:56 ` Johannes Schindelin
2016-09-09 10:49 ` Johannes Schindelin
2016-08-25 15:06 ` [PATCH 3/6] Make the require_clean_work_tree() function truly reusable Johannes Schindelin
2016-08-25 15:06 ` [PATCH 4/6] require_clean_work_tree: ensure that the index was read Johannes Schindelin
2016-08-29 23:01 ` Junio C Hamano
2016-08-30 2:44 ` Junio C Hamano
2016-08-30 11:00 ` Johannes Schindelin
2016-08-30 14:46 ` Johannes Schindelin
2016-08-30 16:23 ` Junio C Hamano
2016-08-30 10:50 ` Johannes Schindelin [this message]
2016-08-25 15:07 ` [PATCH 5/6] Export also the has_un{staged,committed}_changed() functions Johannes Schindelin
2016-08-29 23:03 ` Junio C Hamano
2016-08-25 15:07 ` [PATCH 6/6] wt-status: teach has_{unstaged,uncommitted}_changes() about submodules Johannes Schindelin
2016-09-11 8:02 ` [PATCH v2 0/5] Pull out require_clean_work_tree() functionality from builtin/pull.c Johannes Schindelin
2016-09-11 8:02 ` [PATCH v2 1/5] pull: drop confusing prefix parameter of die_on_unclean_work_tree() Johannes Schindelin
2016-09-11 8:02 ` [PATCH v2 2/5] pull: make code more similar to the shell script again Johannes Schindelin
2016-09-12 18:56 ` Junio C Hamano
2016-09-11 8:02 ` [PATCH v2 3/5] Make the require_clean_work_tree() function truly reusable Johannes Schindelin
2016-09-12 18:58 ` Junio C Hamano
2016-09-11 8:02 ` [PATCH v2 4/5] Export also the has_un{staged,committed}_changed() functions Johannes Schindelin
2016-09-11 8:03 ` [PATCH v2 5/5] wt-status: teach has_{unstaged,uncommitted}_changes() about submodules Johannes Schindelin
2016-09-12 19:36 ` [PATCH v2 0/5] Pull out require_clean_work_tree() functionality from builtin/pull.c Junio C Hamano
2016-10-04 13:04 ` [PATCH v3 0/6] " Johannes Schindelin
2016-10-04 13:05 ` [PATCH v3 1/6] pull: drop confusing prefix parameter of die_on_unclean_work_tree() Johannes Schindelin
2016-10-04 13:05 ` [PATCH v3 2/6] pull: make code more similar to the shell script again Johannes Schindelin
2016-10-04 13:05 ` [PATCH v3 3/6] Make the require_clean_work_tree() function reusable Johannes Schindelin
2016-10-04 18:52 ` Junio C Hamano
2016-10-05 11:25 ` Johannes Schindelin
2016-10-05 16:23 ` Junio C Hamano
2016-10-04 13:05 ` [PATCH v3 4/6] Export also the has_un{staged,committed}_changed() functions Johannes Schindelin
2016-10-04 18:53 ` Junio C Hamano
2016-10-05 19:20 ` Jakub Narębski
2016-10-04 13:05 ` [PATCH v3 5/6] wt-status: teach has_{unstaged,uncommitted}_changes() about submodules Johannes Schindelin
2016-10-04 13:06 ` [PATCH v3 6/6] wt-status: begin error messages with lower-case Johannes Schindelin
2016-10-05 19:23 ` Jakub Narębski
2016-10-06 10:28 ` Johannes Schindelin
2016-10-04 18:56 ` [PATCH v3 0/6] Pull out require_clean_work_tree() functionality from builtin/pull.c Junio C Hamano
2016-10-05 11:35 ` Johannes Schindelin
2016-10-07 16:08 ` [PATCH v4 " Johannes Schindelin
2016-10-07 16:08 ` [PATCH v4 1/6] pull: drop confusing prefix parameter of die_on_unclean_work_tree() Johannes Schindelin
2016-10-07 16:08 ` [PATCH v4 2/6] pull: make code more similar to the shell script again Johannes Schindelin
2016-10-07 16:08 ` [PATCH v4 3/6] wt-status: make the require_clean_work_tree() function reusable Johannes Schindelin
2016-10-07 16:08 ` [PATCH v4 4/6] wt-status: export also the has_un{staged,committed}_changes() functions Johannes Schindelin
2016-10-07 16:09 ` [PATCH v4 5/6] wt-status: teach has_{unstaged,uncommitted}_changes() about submodules Johannes Schindelin
2016-10-07 16:09 ` [PATCH v4 6/6] wt-status: begin error messages with lower-case Johannes Schindelin
2016-10-07 16:34 ` [PATCH v4 0/6] Pull out require_clean_work_tree() functionality from builtin/pull.c Junio C Hamano
2016-10-07 16:37 ` Jakub Narębski
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=alpine.DEB.2.20.1608301241590.129229@virtualbox \
--to=johannes.schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.