ds/sparse-checkout-requires-per-worktree-config (was Re: What's cooking in git.git (Feb 2022, #02; Wed, 9))

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

 



On 2/9/2022 7:12 PM, Junio C Hamano wrote:

> * ds/sparse-checkout-requires-per-worktree-config (2022-02-08) 6 commits
>  - config: make git_configset_get_string_tmp() private
>  - worktree: copy sparse-checkout patterns and config on add
>  - sparse-checkout: set worktree-config correctly
>  - config: add repo_config_set_worktree_gently()
>  - worktree: create init_worktree_config()
>  - Documentation: add extensions.worktreeConfig details
> 
>  "git sparse-checkout" wants to work with per-worktree configration,
>  but did not work well in a worktree attached to a bare repository.
> 
>  Will merge to 'next'?
>  cf. <20220204081336.3194538-1-newren@xxxxxxxxx>
>  cf. <CAPig+cRrRxuTeByhKkLs_KDaWY8-r4+jrwT83A-r+sBQsmebMw@xxxxxxxxxxxxxx>
>  source: <pull.1101.v6.git.1644269583.gitgitgadget@xxxxxxxxx>

You and I have had a good discussion about the latest version. I
think we've mostly landed on finding ways to improve documentation
in other ways (including the patch you submitted), but here are
the things that I see as still outstanding:

0. Eric mentioned earlier that he was interested in looking again,
   but has not signaled that his review is complete.

1. You and Eric disagree about the use of "worktree" and "working
   tree" in the documentation. I could revert the change to these
   docs from v5 to v6.

2. You mention that the changes in config.c could be split into
   two (first, create repo_config_set_multivar_gently() and then
   create repo_config_set_worktree_gently()).

3. Jean-Noël noticed an improvement to reduce work on translators.
   The diff below could be squashed into patch 5 OR I could submit
   it as a forward fix.

diff --git a/builtin/worktree.c b/builtin/worktree.c
index c6eb636329a..7c272078dc9 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -384,11 +384,13 @@ static int add_worktree(const char *path, const char *refname,
 			    bare &&
 			    git_config_set_multivar_in_file_gently(
 					to_file, "core.bare", NULL, "true", 0))
-				error(_("failed to unset 'core.bare' in '%s'"), to_file);
+				error(_("failed to unset '%s' in '%s'"),
+				      "core.bare", to_file);
 			if (!git_configset_get_value(&cs, "core.worktree", &core_worktree) &&
 			    git_config_set_in_file_gently(to_file,
 							  "core.worktree", NULL))
-				error(_("failed to unset 'core.worktree' in '%s'"), to_file);
+				error(_("failed to unset '%s' in '%s'"),
+				      "core.worktree", to_file);
 
 			git_configset_clear(&cs);
 		}

Thanks,
-Stolee



[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