Re: [PATCH v2 2/2] maintenance: add option to register in a specific config

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

 



Hi Taylor

On 08/11/2022 20:57, Taylor Blau wrote:
On Tue, Nov 08, 2022 at 08:38:51PM +0000, Phillip Wood wrote:
diff --git a/builtin/gc.c b/builtin/gc.c
index 24ea85c7af..1709355bce 100644
--- a/builtin/gc.c
+++ b/builtin/gc.c
@@ -1497,12 +1499,16 @@ static int maintenance_register(int argc, const char **argv, const char *prefix)
   	if (!found) {
   		int rc;
-		char *user_config, *xdg_config;
-		git_global_config(&user_config, &xdg_config);
-		if (!user_config)
-			die(_("$HOME not set"));
+		char *user_config = NULL, *xdg_config = NULL;
+
+		if (!config_file) {
+			git_global_config(&user_config, &xdg_config);
+			config_file = user_config;

Here we need to decide whether to use user_config or xdg_config as the
config file. In builtin/config.c we do this with

		if (access_or_warn(user_config, R_OK, 0) &&
		    xdg_config && !access_or_warn(xdg_config, R_OK, 0)) {
			given_config_source.file = xdg_config;
			free(user_config);
		} else {
			given_config_source.file = user_config;
			free(xdg_config);
		}

We need something similar here (maybe we should create a helper function to
find the appropriate file)

+			if (!user_config)
+				die(_("$HOME not set"));

This check needs to come before deciding which config file to use

True, but that problem existed before this series, too.

Oh yes, sorry I'd missed that

Phillip

So the new
behavior is no worse with respect to the XDG config stuff, and any
improvements to that behavior can be done independently on top. >> Thanks,
Taylor



[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