"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Stefan Sperling <stsp@stsp.name>
Subject:
Re: got status misses unversioned files
To:
Christian Weisgerber <naddy@mips.inka.de>
Cc:
gameoftrees@openbsd.org
Date:
Fri, 2 Aug 2024 09:58:56 +0200

Download raw body.

Thread
On Fri, Aug 02, 2024 at 02:30:41AM +0200, Christian Weisgerber wrote:
> Christian Weisgerber:
> 
> > When I move away gnu/llvm/clang/.gitignore, "got status
> > gnu/llvm/clang/cmake/caches" no longer skips the files in that
> > directory.  The contents of gnu/llvm/clang/.gitignore look innocuous,
> > though.
> 
> $ got st gnu/llvm/clang/cmake/caches 
> ===> ignore pattern "**/obj"
> ===> ignore pattern "**/tags"
> ===> ignore pattern "**/CVS"
> ===> ignore pattern "gnu/llvm/clang/"
> ===> ignore pattern "gnu/llvm/clang/*~"
> ===> ignore pattern "gnu/llvm/clang/*.orig"
> ===> ignore pattern "gnu/llvm/clang/*.pyc"
> ===> ignore pattern "gnu/llvm/clang/.*.sw?"
> ===> ignore pattern "gnu/llvm/clang/.sw?"
> ===> ignore pattern "gnu/llvm/clang/"
> ===> ignore pattern "gnu/llvm/clang/cscope.files"
> ===> ignore pattern "gnu/llvm/clang/cscope.out"
> ===> ignore pattern "gnu/llvm/clang//tags"
> ===> ignore pattern "gnu/llvm/clang/"
> ===> ignore pattern "gnu/llvm/clang/docs/_build"
> ===> ignore pattern "gnu/llvm/clang/docs/analyzer/_build"
> ===> ignore pattern "gnu/llvm/clang/"
> ===> ignore pattern "gnu/llvm/clang/.vscode"
> ===> ignore pattern "gnu/llvm/clang/.vs"
> ===> ignore pattern "gnu/llvm/clang/"
> 
> Hah!  We need to skip blank lines in .gitignore:
> 

Nice catch!

ok, and could you please add a small test case, too?

> ===> ignore pattern "**/obj"
> ===> ignore pattern "**/tags"
> ===> ignore pattern "**/CVS"
> ===> ignore pattern "gnu/llvm/clang/*~"
> ===> ignore pattern "gnu/llvm/clang/*.orig"
> ===> ignore pattern "gnu/llvm/clang/*.pyc"
> ===> ignore pattern "gnu/llvm/clang/.*.sw?"
> ===> ignore pattern "gnu/llvm/clang/.sw?"
> ===> ignore pattern "gnu/llvm/clang/cscope.files"
> ===> ignore pattern "gnu/llvm/clang/cscope.out"
> ===> ignore pattern "gnu/llvm/clang//tags"
> ===> ignore pattern "gnu/llvm/clang/docs/_build"
> ===> ignore pattern "gnu/llvm/clang/docs/analyzer/_build"
> ===> ignore pattern "gnu/llvm/clang/.vscode"
> ===> ignore pattern "gnu/llvm/clang/.vs"
> 
> 
> diff /home/naddy/got
> commit - cbae186176b82efbf747a1486addb8b52c664651
> path + /home/naddy/got
> blob - 94cb5018eb8bd148ea52e237479e027fabca1b14
> file + lib/worktree.c
> --- lib/worktree.c
> +++ lib/worktree.c
> @@ -3742,6 +3742,10 @@ read_ignores(struct got_pathlist_head *ignores, const 
>  		if (linelen > 0 && line[linelen - 1] == '\n')
>  			line[linelen - 1] = '\0';
>  
> +		/* Skip blank lines. */
> +		if (line[0] == '\0')
> +			continue;
> +
>  		/* Git's ignores may contain comments. */
>  		if (line[0] == '#')
>  			continue;
> 
> -- 
> Christian "naddy" Weisgerber                          naddy@mips.inka.de
> 
>