Re: [RFC PATCH v2 2/4] config: load the correct config.worktree file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matheus Tavares <matheus.bernardino@xxxxxx> writes:

> One of the steps in do_git_config_sequence() is to load the
> worktree-specific config file. Although the function receives a git_dir
> string, it relies on git_pathdup(), which uses the_repository->git_dir,
> to make the path to the file. Thus, when a submodule has a worktree
> setting, a command executed in the superproject that recurses into the
> submodule won't find the said setting.

This has far wider ramifications than just "git grep" and it may be
an important fix.  Anything that wants to read from a per-worktree
configuration is not working as expected when run from a secondary
worktree, right?

Can we add a test or two to protect this fix from future breakages?


>  	current_parsing_scope = CONFIG_SCOPE_WORKTREE;
> -	if (!opts->ignore_worktree && repository_format_worktree_config) {
> -		char *path = git_pathdup("config.worktree");
> +	if (!opts->ignore_worktree && repository_format_worktree_config &&
> +	    opts->git_dir) {
> +		char *path = mkpathdup("%s/config.worktree", opts->git_dir);
>  		if (!access_or_die(path, R_OK, 0))
>  			ret += git_config_from_file(fn, path, data);
>  		free(path);



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux