]> granicus.if.org Git - cgit/commitdiff
cgit.c: Do not reset HOME after unsetting it.
authorJason A. Donenfeld <Jason@zx2c4.com>
Sat, 25 May 2013 17:25:56 +0000 (19:25 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Sat, 25 May 2013 18:33:28 +0000 (20:33 +0200)
The number of odd cases in which git will try to read config is far too
great to keep putting a bandaid over each one, so we'll just unset it.

If it turns out that scripts really liked to know about $HOME, we can
always reset it in the filter forks.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
cgit.c
ui-snapshot.c

diff --git a/cgit.c b/cgit.c
index e3ec533e0719ac1f34623dab2977d0a6c87af274..29e075dfae160e26e9f6b68fdf71a9e71a3a20e2 100644 (file)
--- a/cgit.c
+++ b/cgit.c
@@ -471,8 +471,6 @@ static char *guess_defbranch(void)
 
 static int prepare_repo_cmd(struct cgit_context *ctx)
 {
-       char *user_home;
-       char *xdg_home;
        unsigned char sha1[20];
        int nongit = 0;
        int rc;
@@ -483,11 +481,6 @@ static int prepare_repo_cmd(struct cgit_context *ctx)
        /* Do not look in /etc/ for gitconfig and gitattributes. */
        setenv("GIT_CONFIG_NOSYSTEM", "1", 1);
        setenv("GIT_ATTR_NOSYSTEM", "1", 1);
-
-       /* We unset HOME and XDG_CONFIG_HOME before calling the git setup function
-        * so that we don't make unneccessary filesystem accesses. */
-       user_home = getenv("HOME");
-       xdg_home = getenv("XDG_CONFIG_HOME");
        unsetenv("HOME");
        unsetenv("XDG_CONFIG_HOME");
 
@@ -497,12 +490,6 @@ static int prepare_repo_cmd(struct cgit_context *ctx)
        setup_git_directory_gently(&nongit);
        init_display_notes(NULL);
 
-       /* We restore the unset variables afterward. */
-       if (user_home)
-               setenv("HOME", user_home, 1);
-       if (xdg_home)
-               setenv("XDG_CONFIG_HOME", xdg_home, 1);
-
        if (nongit) {
                const char *name = ctx->repo->name;
                rc = errno;
index 8a720801004cca005287c2f9457340da8703ef81..42b7489d5b4048248b9223cfc14a437fabdeba09 100644 (file)
@@ -16,7 +16,6 @@ static int write_archive_type(const char *format, const char *hex, const char *p
 {
        struct argv_array argv = ARGV_ARRAY_INIT;
        const char **nargv;
-       char *user_home, *xdg_home;
        int result;
        argv_array_push(&argv, "snapshot");
        argv_array_push(&argv, format);
@@ -39,15 +38,7 @@ static int write_archive_type(const char *format, const char *hex, const char *p
        /* argv_array guarantees a trailing NULL entry. */
        memcpy(nargv, argv.argv, sizeof(char *) * (argv.argc + 1));
 
-       user_home = getenv("HOME");
-       xdg_home = getenv("XDG_CONFIG_HOME");
-       unsetenv("HOME");
-       unsetenv("XDG_CONFIG_HOME");
        result = write_archive(argv.argc, nargv, NULL, 1, NULL, 0);
-       if (user_home)
-               setenv("HOME", user_home, 1);
-       if (xdg_home)
-               setenv("XDG_CONFIG_HOME", xdg_home, 1);
        argv_array_clear(&argv);
        free(nargv);
        return result;