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

Re: [PATCH] Documentation/git-clone: describe --mirror more verbose

From
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date
Oct 4, 2010, 08:50 UTC
Message-ID
<20101004085050.GQ28679@pengutronix.de>
In-Reply-To
<4CA98EF1.1050102@drmicha.warpmail.net>
Hello Michael,
On Mon, Oct 04, 2010 at 10:23:13AM +0200, Michael J Gruber wrote:
Show 25 quoted lines
> Uwe Kleine-König venit, vidit, dixit 04.10.2010 09:50:
> > Hello Michael,
> > 
> > On Mon, Oct 04, 2010 at 09:25:17AM +0200, Michael J Gruber wrote:
> >> Steven Rostedt venit, vidit, dixit 01.10.2010 23:16:
> >>> On Fri, 2010-10-01 at 13:18 -0700, Darren Hart wrote:
> >>>> 2010/10/1 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:
> >>>>> Some people in #linux-rt claimed that you cannot define "--mirror" with
> >>>>> "mirror".
> >>>>>
> >>
> >> I'd say "mirror" is a commonly known term for an exact copy. Moreover,
> >> the text below doesn't explain what a mirror is either, only how
> >> "update" behaves in it.
> > hmm.  The --mirror option doesn't have any effect (apart from the
> > changes in the config file) until you update.  So I think it's natural
> > to talk about git update.  No?
> 
> "git clone" (with or without --mirror) does a couple of things, and it
> does them differently when "--mirror" is used. It mirrors each branch
> from the source repo in the target repo under the same name, including
> for example any remote branches in the source repo. This is completely
> different without "--mirror", where clone does not look at the source's
> remote branches at all. Also, it sets up a mirroring refspec, i.e.
> +refs/*:refs/*
Ah, didn't notice that.
> [...]
> This makes me think that --mirror should be explained on top of --bare.
OK.
Show 7 quoted lines
> For example:
> 
> In addition to the mapping of local branches to local branches which
> --bare does, --mirror maps all refs which the source has under the same
> name in the target (including remote branches, notes etc.) and sets up a
> refspec configuration so that all these refs are updated by a `git
> update` in the target repo.

Hmm, I didn't understand this when I read it the first few times. The special thing is that --mirror maps *all* refs, not *same name*.

So maybe:
	Set up a mirror of the remote repository.  This implies `--bare`.
	Compared to `--bare`, `--mirror` doesn't only map local branches of
	the remote to local branches of the target but all refs
	(including remote branches, notes etc.) and sets up a refspec
	configuration such that all these refs are overwritten by a
	`git remote update` in the target repository.

I choosed to write "overwritten" instead of "updated" to make it clearer that it makes no sence to push into these branches from a different source. Should this be noted more explicit?

Best regards Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Previous: Michael J GruberNext: Michael J Gruber
Message 7 of 18 in “Documentation/git-clone: describe --mirror more verbose”
  1. Documentation/git-clone: describe --mirror more verboseUwe Kleine-König, Oct 1, 2010
  2. Darren HartOct 1, 2010
  3. Steven RostedtOct 1, 2010
  4. Michael J GruberOct 4, 2010
  5. Uwe Kleine-KönigOct 4, 2010
  6. Michael J GruberOct 4, 2010
  7. Uwe Kleine-KönigOct 4, 2010
  8. Michael J GruberOct 4, 2010
  9. Documentation/git-clone: describe --mirror more verboseUwe Kleine-König, Oct 4, 2010
  10. Steven RostedtOct 4, 2010
  11. Michael J GruberOct 4, 2010
  12. Darren HartOct 4, 2010
  13. Documentation/git-clone: describe --mirror more verboselyUwe Kleine-König, Oct 4, 2010
  14. Junio C HamanoOct 4, 2010
  15. Matthieu MoyOct 4, 2010
  16. Darren HartOct 4, 2010
  17. Uwe Kleine-KönigOct 5, 2010
  18. Junio C HamanoOct 5, 2010

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.