git/list[1] front-page[2] threads[3] people[4] search[5] about
 

How to create and keep up to date a naked/bare repository?

From
MCMathieu 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 --
Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 14 in “[RFD] remembering hand resolve...”
  1. Junio C HamanoJan 25, 2006
  2. Andreas EricssonJan 25, 2006
  3. Junio C HamanoJan 25, 2006
  4. How to create and keep up to date a naked/bare repository?Mathieu Chouquet-Stringer, Jan 26, 2006
  5. Junio C HamanoJan 26, 2006
  6. Mathieu Chouquet-StringerJan 26, 2006
  7. Mathieu Chouquet-StringerJan 26, 2006
  8. Junio C HamanoJan 27, 2006
  9. Refs naming after clone (was: Re: How to create and keep up to date a naked/bare repository?)Josef Weidendorfer, Jan 27, 2006
  10. Mathieu Chouquet-StringerJan 27, 2006
  11. Junio C HamanoJan 27, 2006
  12. J. Bruce FieldsJan 27, 2006
  13. Junio C HamanoJan 27, 2006
  14. git-rerere: reuse recorded resolve.Junio C Hamano, Jan 29, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.