Skip to content
Snippets Groups Projects
Select Git revision
  • v3.12-rc6
  • master default protected
  • objtool-32bit
  • objtool
  • v5.9
  • v5.9-rc8
  • v5.9-rc7
  • v5.9-rc6
  • v5.9-rc5
  • v5.9-rc4
  • v5.9-rc3
  • v5.9-rc2
  • v5.9-rc1
  • v5.8
  • v5.8-rc7
  • v5.8-rc6
  • v5.8-rc5
  • v5.8-rc4
  • v5.8-rc3
  • v5.8-rc2
  • v5.8-rc1
  • v5.7
  • v5.7-rc7
  • v5.7-rc6
24 results

sha1_generic.c

Blame
  • Forked from Jonas Rabenstein / Linux
    Source project has a limited visibility.
    environment.c 1.67 KiB
    /*
     * We put all the git config variables in this same object
     * file, so that programs can link against the config parser
     * without having to link against all the rest of git.
     *
     * In particular, no need to bring in libz etc unless needed,
     * even if you might want to know where the git directory etc
     * are.
     */
    #include "cache.h"
    
    char git_default_email[MAX_GITNAME];
    char git_default_name[MAX_GITNAME];
    int trust_executable_bit = 1;
    int only_use_symrefs = 0;
    
    static char *git_dir, *git_object_dir, *git_index_file, *git_refs_dir,
    	*git_graft_file;
    static void setup_git_env(void)
    {
    	git_dir = getenv(GIT_DIR_ENVIRONMENT);
    	if (!git_dir)
    		git_dir = DEFAULT_GIT_DIR_ENVIRONMENT;
    	git_object_dir = getenv(DB_ENVIRONMENT);
    	if (!git_object_dir) {
    		git_object_dir = xmalloc(strlen(git_dir) + 9);
    		sprintf(git_object_dir, "%s/objects", git_dir);
    	}
    	git_refs_dir = xmalloc(strlen(git_dir) + 6);
    	sprintf(git_refs_dir, "%s/refs", git_dir);
    	git_index_file = getenv(INDEX_ENVIRONMENT);
    	if (!git_index_file) {
    		git_index_file = xmalloc(strlen(git_dir) + 7);
    		sprintf(git_index_file, "%s/index", git_dir);
    	}
    	git_graft_file = getenv(GRAFT_ENVIRONMENT);
    	if (!git_graft_file)
    		git_graft_file = strdup(git_path("info/grafts"));
    }
    
    char *get_git_dir(void)
    {
    	if (!git_dir)
    		setup_git_env();
    	return git_dir;
    }
    
    char *get_object_directory(void)
    {
    	if (!git_object_dir)
    		setup_git_env();
    	return git_object_dir;
    }
    
    char *get_refs_directory(void)
    {
    	if (!git_refs_dir)
    		setup_git_env();
    	return git_refs_dir;
    }
    
    char *get_index_file(void)
    {
    	if (!git_index_file)
    		setup_git_env();
    	return git_index_file;
    }
    
    char *get_graft_file(void)
    {
    	if (!git_graft_file)
    		setup_git_env();
    	return git_graft_file;
    }