From: Junio C Hamano Date: Fri, 30 Sep 2005 00:05:33 GMT Subject: Re: git push to a local directory with no .git in it Message-ID: <7v7jcze7xu.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Richard Curnow writes: > I get > > fatal: /home/richard/homepage/git/mairix.git doesn't appear to be a git directory > > presumably because there is no .git in it. Please don't presume, but dig. $ git grep -n 'doesn.t appear to be' receive-pack.c:275: die("%s doesn't appear to be a git directory", dir); And the lines around there are: /* chdir to the directory. If that fails, try appending ".git" */ if (chdir(dir) < 0) { if (chdir(mkpath("%s.git", dir)) < 0) die("unable to cd to %s", dir); } /* If we have a ".git" directory, chdir to it */ chdir(".git"); putenv("GIT_DIR=."); if (access("objects", X_OK) < 0 || access("refs/heads", X_OK) < 0) die("%s doesn't appear to be a git directory", dir); write_head_info(); We chdir to mairix.git/, and then try to chdir to .git beneath it _if_ _exists_; we do not care if the second chdir fails. So if you do not have mairix.git/.git, that's OK. We will stay in mairix.git/ directory and then set the GIT_DIR there. If you do not have mairix.git/objects or mairix.git/refs/heads/ then that's when you get that error message. $ cd /home/richard/homepage/git/mairix.git $ ls -ld objects refs refs/heads would tell us more.