From: Linus Torvalds Date: Wed, 28 Sep 2005 15:29:46 GMT Subject: Re: [PATCH] Fix git-pull output message Message-ID: In-Reply-To: <72499e3b05092803027175bab0@mail.gmail.com> On Wed, 28 Sep 2005, Robert Watson wrote: > > Notice that the git.git directory is truncated. It seems the > intension is to truncate at the .git > directory level. The following patch fixes it. No, the intention really is to remove the ".git" at the end. At least that's how I use it. I like seeing my merges say Merge branch 'for-linus' from master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband even though the _real_ directory was ".../infiniband.git/", simply because the ".git" doesn't really add any extra information when you're already in git. _outside_ of git, the ".git" tells you something: it tells you that you're entering a git archive. But when merging in git, that part is kind of taken for granted, isn't it? This also matches what "git-receive-pack" and "git-upload-pack" does: ... /* 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"); ... Note how it _both_ will append ".git" to the directory name (if it can't find one without ".git" _and_ will try to chdir to a ".git" directory _within_ the directory name. So if you use the native pack ssh interfaces, you really can say git pull master.kernel.org:.../infiniband because the tools (well, the "native pack" ones - not the http/rsync/scp ones) will automatically DTRT. Linus