All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: git@vger.kernel.org, norio.nomura@gmail.com
Subject: Re: [PATCH 1/4] recursive submodules: test for relative paths
Date: Thu, 31 Mar 2016 09:33:54 -0700	[thread overview]
Message-ID: <xmqqpouappxp.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <1459383457-6848-2-git-send-email-sbeller@google.com> (Stefan Beller's message of "Wed, 30 Mar 2016 17:17:34 -0700")

Stefan Beller <sbeller@google.com> writes:

> This was reported as a regression at $gmane/290280. The root cause for
> that bug is in using recursive submodules as their relative path handling
> seems to be broken in ee8838d (2015-09-08, submodule: rewrite
> `module_clone` shell function in C).

I've reworded the above like so while queuing.

    "git submodule update --init --recursive" uses full path to refer to
    the true location of the repository in the "gitdir:" pointer for
    nested submodules; the command used to use relative paths.

    This was reported by Norio Nomura in $gmane/290280.

    The root cause for that bug is in using recursive submodules as
    their relative path handling was broken in ee8838d (2015-09-08,
    submodule: rewrite `module_clone` shell function in C).

Thanks.


> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
>  t/t7400-submodule-basic.sh | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>
> diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
> index 540771c..fc11809 100755
> --- a/t/t7400-submodule-basic.sh
> +++ b/t/t7400-submodule-basic.sh
> @@ -818,6 +818,47 @@ test_expect_success 'submodule add --name allows to replace a submodule with ano
>  	)
>  '
>  
> +test_expect_failure 'recursive relative submodules stay relative' '
> +	test_when_finished "rm -rf super clone2 subsub sub3" &&
> +	mkdir subsub &&
> +	(
> +		cd subsub &&
> +		git init &&
> +		>t &&
> +		git add t &&
> +		git commit -m "initial commit"
> +	) &&
> +	mkdir sub3 &&
> +	(
> +		cd sub3 &&
> +		git init &&
> +		>t &&
> +		git add t &&
> +		git commit -m "initial commit" &&
> +		git submodule add ../subsub dirdir/subsub &&
> +		git commit -m "add submodule subsub"
> +	) &&
> +	mkdir super &&
> +	(
> +		cd super &&
> +		git init &&
> +		>t &&
> +		git add t &&
> +		git commit -m "initial commit" &&
> +		git submodule add ../sub3 &&
> +		git commit -m "add submodule sub"
> +	) &&
> +	git clone super clone2 &&
> +	(
> +		cd clone2 &&
> +		git submodule update --init --recursive &&
> +		echo "gitdir: ../.git/modules/sub3" >./sub3/.git_expect &&
> +		echo "gitdir: ../../../.git/modules/sub3/modules/dirdir/subsub" >./sub3/dirdir/subsub/.git_expect
> +	) &&
> +	test_cmp clone2/sub3/.git_expect clone2/sub3/.git &&
> +	test_cmp clone2/sub3/dirdir/subsub/.git_expect clone2/sub3/dirdir/subsub/.git
> +'
> +
>  test_expect_success 'submodule add with an existing name fails unless forced' '
>  	(
>  		cd addtest2 &&

  reply	other threads:[~2016-03-31 16:34 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-31  0:17 [PATCH 0/4] Fix relative path issues in recursive submodules Stefan Beller
2016-03-31  0:17 ` [PATCH 1/4] recursive submodules: test for relative paths Stefan Beller
2016-03-31 16:33   ` Junio C Hamano [this message]
2016-03-31 16:47     ` Stefan Beller
2016-03-31  0:17 ` [PATCH 2/4] submodule--helper clone: simplify path check Stefan Beller
2016-03-31  0:32   ` Jacob Keller
2016-03-31  7:31   ` Eric Sunshine
2016-03-31 17:17     ` Stefan Beller
2016-03-31 16:36   ` Junio C Hamano
2016-03-31 17:04     ` Eric Sunshine
2016-03-31  0:17 ` [PATCH 3/4] submodule--helper clone: remove double path checking Stefan Beller
2016-03-31 16:44   ` Junio C Hamano
2016-03-31  0:17 ` [PATCH 4/4] submodule--helper: use relative path if possible Stefan Beller
2016-03-31 16:59   ` Junio C Hamano
2016-03-31 19:22     ` Stefan Beller
2016-03-31 17:04 ` [PATCH 0/4] Fix relative path issues in recursive submodules Junio C Hamano
2016-03-31 17:20   ` 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

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

  git send-email \
    --in-reply-to=xmqqpouappxp.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=norio.nomura@gmail.com \
    --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.
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.