git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Heiko Voigt <hvoigt@hvoigt.net>
Cc: Brandon Williams <bmwill@google.com>,
	git@vger.kernel.org, Jeff King <peff@peff.net>,
	Stefan Beller <sbeller@google.com>,
	Jens.Lehmann@web.de, Fredrik Gustafsson <iveqy@iveqy.com>,
	Leandro Lucarella <leandro.lucarella@sociomantic.com>
Subject: Re: [PATCH v4 4/4] submodule_needs_pushing() NEEDSWORK when we can not answer this question
Date: Wed, 16 Nov 2016 11:18:07 -0800	[thread overview]
Message-ID: <xmqqoa1fp72o.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <9c95594f73625e06374f323fa5dc7d6487aa0356.1479308877.git.hvoigt@hvoigt.net> (Heiko Voigt's message of "Wed, 16 Nov 2016 16:11:07 +0100")

Heiko Voigt <hvoigt@hvoigt.net> writes:

> Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
> ---

Needs retitle ;-)  Here is what I tentatively queued.

    submodule_needs_pushing(): explain the behaviour when we cannot answer
    
    When we do not have commits that are involved in the update of the
    superproject in our copy of submodule, we cannot tell if the remote
    end needs to acquire these commits to be able to check out the
    superproject tree.  Explain why we answer "no there is no need/point
    in pushing from our submodule repository" in this case.
    
    Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>

>  submodule.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/submodule.c b/submodule.c
> index 11391fa..00dd655 100644
> --- a/submodule.c
> +++ b/submodule.c
> @@ -531,6 +531,17 @@ static int submodule_has_commits(const char *path, struct sha1_array *commits)
>  static int submodule_needs_pushing(const char *path, struct sha1_array *commits)
>  {
>  	if (!submodule_has_commits(path, commits))
> +		/*
> +		 * NOTE: We do consider it safe to return "no" here. The
> +		 * correct answer would be "We do not know" instead of
> +		 * "No push needed", but it is quite hard to change
> +		 * the submodule pointer without having the submodule
> +		 * around. If a user did however change the submodules
> +		 * without having the submodule around, this indicates
> +		 * an expert who knows what they are doing or a
> +		 * maintainer integrating work from other people. In
> +		 * both cases it should be safe to skip this check.
> +		 */
>  		return 0;
>  
>  	if (for_each_remote_ref_submodule(path, has_remote, NULL) > 0) {

  reply	other threads:[~2016-11-16 19:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-16 15:11 [PATCH v4 0/4] Speedup finding of unpushed submodules Heiko Voigt
2016-11-16 15:11 ` [PATCH v4 1/4] serialize collection of changed submodules Heiko Voigt
2016-11-16 15:11 ` [PATCH v4 2/4] serialize collection of refs that contain submodule changes Heiko Voigt
2016-11-16 15:11 ` [PATCH v4 3/4] batch check whether submodule needs pushing into one call Heiko Voigt
2016-11-16 15:11 ` [PATCH v4 4/4] submodule_needs_pushing() NEEDSWORK when we can not answer this question Heiko Voigt
2016-11-16 19:18   ` Junio C Hamano [this message]
2016-11-16 21:31     ` Heiko Voigt
2016-11-17 17:41 ` [PATCH v4 0/4] Speedup finding of unpushed submodules Stefan Beller

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=xmqqoa1fp72o.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=Jens.Lehmann@web.de \
    --cc=bmwill@google.com \
    --cc=git@vger.kernel.org \
    --cc=hvoigt@hvoigt.net \
    --cc=iveqy@iveqy.com \
    --cc=leandro.lucarella@sociomantic.com \
    --cc=peff@peff.net \
    --cc=sbeller@google.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).