How to create and keep up to date a naked/bare repository?
From: Mathieu Chouquet-Stringer <hidden>
Date: 2016-06-15 22:42:17
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 --