From: Mathieu Chouquet-Stringer Date: Thu, 26 Jan 2006 11:12:10 GMT Subject: How to create and keep up to date a naked/bare repository? Message-ID: In-Reply-To: <7v1wyvn9pc.fsf@assigned-by-dhcp.cox.net> Hello, I've got a couple of questions and reading (some of the files in) the Documentation directory didn't really enlighten me... Let's say I want to maintain a private (read-only) copy of a git repository (eg git.git or linus-2.6.git). Because this repository is shared internally (used by a bunch of boxes), I'd like to clone it as a bare repo, no need to have the files checked out on my local master. Cloning is done by running the following: git clone --naked git://www.kernel.org/pub/scm/git/git.git git.git Now I've got my repository. Because I'll share it with git-daemon, I touch the git-daemon-export-ok file to export it. The first problem arises when I try to keep this repo up to date. If I try a git fetch or pull (more on that later), git complains because it can't find a .git directory (which is correct as in a bare repository the repository directory is the .git directory). I can do a: GIT_DIR=. git fetch and it works but that's kind of ugly. I can also link . to .git but it's as disgusting as the previous hack. Maybe I'm missing something obvious here, is there an option to tell fetch/pull that it's working with a bare repository? The second question is I'd think I would have to use git fetch instead of git pull as a pull is fetch + merge and merging wouldn't make much sense as I didn't check out any files. Does it make any sense? The third thing (can't reproduce ATM as I just got a fresh new clone) is that git fetch was just fetching over and over the same objects... Can anyone tell me what I'm doing wrong? -- Mathieu Chouquet-Stringer "Le disparu, si l'on vénère sa mémoire, est plus présent et plus puissant que le vivant". -- Antoine de Saint-Exupéry, Citadelle --