git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jacob Keller <jacob.e.keller@intel.com>
Cc: git@vger.kernel.org, Stefan Beller <stefanbeller@gmail.com>,
	Jeff King <peff@peff.net>, Johannes Sixt <j6t@kdbg.org>,
	Jacob Keller <jacob.keller@gmail.com>
Subject: Re: [PATCH v11 5/8] allow do_submodule_path to work even if submodule isn't checked out
Date: Fri, 26 Aug 2016 11:19:37 -0700	[thread overview]
Message-ID: <xmqqshtrgzpi.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20160825233243.30700-6-jacob.e.keller@intel.com> (Jacob Keller's message of "Thu, 25 Aug 2016 16:32:40 -0700")

Jacob Keller <jacob.e.keller@intel.com> writes:

> Currently, do_submodule_path will attempt locating the .git directory by
> using read_gitfile on <path>/.git. If this fails it just assumes the
> <path>/.git is actually a git directory.
>
> This is good because it allows for handling submodules which were cloned
> in a regular manner first before being added to the parent project.

s/parent project/superproject/;

> Unfortunately this fails if the <path> is not actually checked out any
> longer, such as by removing the directory.
>
> Fix this by checking if the directory we found is actually a gitdir. In
> the case it is not, attempt to lookup the submodule configuration and
> find the name of where it is stored in the .git/modules/ folder of the
> parent project.

As you consistently say "directory" in the earlier part of the log
message,

s/folder of the parent project/directory of the superproject/;

is desired.

>
> If we can't locate the submodule configuration this might occur because

I added s/configuration/&,/ to make it a bit easier to read.

> for example a submodule gitlink was added but the corresponding
> .gitmodules file was not properly updated. A die() here would not be
> pleasant to the users of submodule diff formats, so instead, modify
> do_submodule_path to return an error code. For git_pathdup_submodule,
> just return NULL when we fail to find a path. For strbuf_git_path_submodule
> propagate the error code to the caller.

Somehow I had to read the latter half of this paragraph twice,
before I realized that the last two sentence talks about how these
two functions exactly do "to return an error code".  Tentatively
what I queued has:

    ... so instead, modify do_submodule_path() to return an error code:

     - git_pathdup_submodule() returns NULL when we fail to find a path.
     - strbuf_git_path_submodule() propagates the error code to the
       caller.

instead, hoping that would be easier to understand.

> -static void do_submodule_path(struct strbuf *buf, const char *path,
> -			      const char *fmt, va_list args)
> +/* Returns 0 on success, non-zero on failure. */

s/non-zero/negative/;

> +#define SUBMODULE_PATH_ERR_NOT_CONFIGURED -1
> +static int do_submodule_path(struct strbuf *buf, const char *path,
> +			     const char *fmt, va_list args)
>  {

This 5/8 is the only changed one in the entire series from the
previous round, I think.  I'll replace what was in 'pu' and wait for
responses.

Thanks.

  reply	other threads:[~2016-08-26 18:19 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-25 23:32 [PATCH v11 0/8] submodule inline diff format Jacob Keller
2016-08-25 23:32 ` [PATCH v11 1/8] cache: add empty_tree_oid object and helper function Jacob Keller
2016-08-25 23:32 ` [PATCH v11 2/8] diff.c: remove output_prefix_length field Jacob Keller
2016-08-25 23:32 ` [PATCH v11 3/8] graph: add support for --line-prefix on all graph-aware output Jacob Keller
2016-08-25 23:32 ` [PATCH v11 4/8] diff: prepare for additional submodule formats Jacob Keller
2016-08-25 23:32 ` [PATCH v11 5/8] allow do_submodule_path to work even if submodule isn't checked out Jacob Keller
2016-08-26 18:19   ` Junio C Hamano [this message]
2016-08-26 18:28     ` Keller, Jacob E
2016-08-25 23:32 ` [PATCH v11 6/8] submodule: convert show_submodule_summary to use struct object_id * Jacob Keller
2016-08-25 23:32 ` [PATCH v11 7/8] submodule: refactor show_submodule_summary with helper function Jacob Keller
2016-08-25 23:32 ` [PATCH v11 8/8] diff: teach diff to display submodule difference with an inline diff Jacob Keller
2016-08-26 19:17 ` [PATCH v11 0/8] submodule inline diff format Stefan Beller
2016-08-26 19:58   ` Keller, Jacob E
2016-08-26 20:04     ` Jeff King
2016-08-26 23:05       ` Jacob Keller
2016-08-26 23:13         ` Jacob Keller
2016-08-31 16:45           ` Junio C Hamano
2016-08-31 22:43             ` Jacob Keller

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqshtrgzpi.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=j6t@kdbg.org \
    --cc=jacob.e.keller@intel.com \
    --cc=jacob.keller@gmail.com \
    --cc=peff@peff.net \
    --cc=stefanbeller@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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).