1/* 2 * GIT - The information manager from hell 3 * 4 * Copyright (C) Linus Torvalds, 2005 5 */ 6#include"cache.h" 7 8/* 9 * If you want to, you can share the DB area with any number of branches. 10 * That has advantages: you can save space by sharing all the SHA1 objects. 11 * On the other hand, it might just make lookup slower and messier. You 12 * be the judge. The default case is to have one DB per managed directory. 13 */ 14intmain(int argc,char**argv) 15{ 16char*sha1_dir, *path; 17int len, i; 18 19if(mkdir(".git",0755) <0) { 20perror("unable to create .git directory"); 21exit(1); 22} 23 24 sha1_dir =getenv(DB_ENVIRONMENT); 25if(!sha1_dir) { 26 sha1_dir = DEFAULT_DB_ENVIRONMENT; 27fprintf(stderr,"defaulting to local storage area\n"); 28} 29 len =strlen(sha1_dir); 30if(mkdir(sha1_dir,0755) <0) { 31if(errno != EEXIST) { 32perror(sha1_dir); 33exit(1); 34} 35} 36 path =malloc(len +40); 37memcpy(path, sha1_dir, len); 38for(i =0; i <256; i++) { 39sprintf(path+len,"/%02x", i); 40if(mkdir(path,0755) <0) { 41if(errno != EEXIST) { 42perror(path); 43exit(1); 44} 45} 46} 47return0; 48}