git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] status: do not get confused by submodules in excluded directories

From
Kevin Daudt <me@ikke.info>
Date
Oct 24, 2017, 08:20 UTC
Message-ID
<20171024082029.GB7987@alpha.vpn.ikke.info>
In-Reply-To
<244d71f47336e985ae265573b7d523cd8b3943bd.1508244305.git.johannes.schindelin@gmx.de>
On Tue, Oct 17, 2017 at 03:10:11PM +0200, Johannes Schindelin wrote:
Show 45 quoted lines
> We meticulously pass the `exclude` flag to the `treat_directory()`
> function so that we can indicate that files in it are excluded rather
> than untracked when recursing.
> 
> But we did not yet treat submodules the same way.
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> Published-As: https://github.com/dscho/git/releases/tag/submodule-in-excluded-v1
> Fetch-It-Via: git fetch https://github.com/dscho/git submodule-in-excluded-v1
>  dir.c                      |  2 +-
>  t/t7061-wtstatus-ignore.sh | 14 ++++++++++++++
>  2 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/dir.c b/dir.c
> index 1d17b800cf3..9987011da57 100644
> --- a/dir.c
> +++ b/dir.c
> @@ -1392,7 +1392,7 @@ static enum path_treatment treat_directory(struct dir_struct *dir,
>  		if (!(dir->flags & DIR_NO_GITLINKS)) {
>  			unsigned char sha1[20];
>  			if (resolve_gitlink_ref(dirname, "HEAD", sha1) == 0)
> -				return path_untracked;
> +				return exclude ? path_excluded : path_untracked;
>  		}
>  		return path_recurse;
>  	}
> diff --git a/t/t7061-wtstatus-ignore.sh b/t/t7061-wtstatus-ignore.sh
> index fc6013ba3c8..8c849a4cd2f 100755
> --- a/t/t7061-wtstatus-ignore.sh
> +++ b/t/t7061-wtstatus-ignore.sh
> @@ -272,4 +272,18 @@ test_expect_success 'status ignored tracked directory with uncommitted file in t
>  	test_cmp expected actual
>  '
>  
> +cat >expected <<\EOF
> +!! tracked/submodule/
> +EOF
> +
> +test_expect_success 'status ignores submodule in excluded directory' '
> +	git init tracked/submodule &&
> +	(
> +		cd tracked/submodule &&
> +		test_commit initial
> +	) &&
Could this use test_commit -C tracked/submodule initial?
Show 9 quoted lines
> +	git status --porcelain --ignored -u tracked/submodule >actual &&
> +	test_cmp expected actual
> +'
> +
>  test_done
> 
> base-commit: 111ef79afe185f8731920569450f6a65320f5d5f
> -- 
> 2.14.2.windows.3
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 8 of 12 in “status: do not get confused by submodules in excluded directories”
  1. status: do not get confused by submodules in excluded directoriesJohannes Schindelin, Oct 17, 2017
  2. Junio C HamanoOct 24, 2017
  3. Heiko VoigtOct 24, 2017
  4. Stefan BellerOct 24, 2017
  5. Junio C HamanoOct 25, 2017
  6. Heiko VoigtOct 25, 2017
  7. Johannes SchindelinOct 25, 2017
  8. Kevin DaudtOct 24, 2017
  9. Johannes SchindelinOct 25, 2017
  10. 0/1 Do not handle submodules in excluded directories as untrackedJohannes Schindelin, Oct 25, 2017
  11. 1/1 status: do not get confused by submodules in excluded directoriesJohannes Schindelin, Oct 25, 2017
  12. Junio C HamanoOct 26, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.