How to create and keep up to date a naked/bare repository?
- From
- Mathieu Chouquet-Stringer <ml2news@free.fr>
- Date
- Jan 26, 2006, 11:12 UTC
- Message-ID
- <m37j8n9rat.fsf_-_@localhost.localdomain>
- 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 --