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

Re: [PATCH v6 06/10] fast-export: add new --refspec option

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 24, 2014, 03:55 UTC
Message-ID
<53588b4b84323_59ed83d3083b@nysa.notmuch>
In-Reply-To
<xmqqbo0pyc2u.fsf@gitster.dls.corp.google.com>
Hi,
Sorry it took too long to reply to this.
Junio C Hamano wrote:
Show 20 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
> 
> > Junio C Hamano wrote:
> >> Junio C Hamano <gitster@pobox.com> writes:
> >> > Felipe Contreras <felipe.contreras@gmail.com> writes:
> >
> >> But it does not have to stay that way.  In order to move things
> >> forward in that direction, this new configuration has to be
> >> distinguishable from the traditional "refspec", as it embodies a
> >> different concept.
> >
> > Is it a different concept?
> >
> >  % git config remote.origin.fetch '+refs/heads/*:refs/remotes-test/origin/*'
> >  % git fetch origin master
> >
> > What do you call this thing? ------^
> 
> The answer to that question is the "value of the 'remote.*.fetch'
> configuration variable".
You are avoiding the question: it's a refspec.
> There is no "refs/heads/next:refs/remotes/origin/next" here, because
> the 'fetch' configuration is not used as a refspec, but as something
> else.

Yet both remote.fetch and remote.push are a 'struct refspec', and the documentation says they are a "refspec".

Show 21 quoted lines
> My understanding of the added option parameter to "git fast-export"
> is that it is not about specifying the history being transferred,
> but is about mapping the name of the destination.  For example, does
> object between 'master' and 'next' participate in the datastream
> produced with this?
> 
> 	fast-export \
>             --refspec=refs/heads/master:refs/remotes/origin/master \
>             --refspec=refs/heads/next:refs/remotes/origin/next \
>             master
> 
> If this parameter were a refspec, as we have discussed already in
> previous rounds [*3*], we should be able to give it on the command line,
> like any normal refspec, instead of repeating the same thing
> (i.e. up to what commit should the history be transported) as in:
> 
> 	fast-export --refspec=refs/heads/master:refs/remotes/origin/master master
> 
> but just
> 
> 	fast-export refs/heads/master:refs/remotes/origin/master
Maybe in an ideal world, which we don't live in.

My guess is that trying to accomplish such a goal would result in an unbelievable mess of the code that I wouldn't even want to think about where to start to code this.

Moreover, `git grep refmap` returns me the following:
  t/t5516-fetch-push.sh:test_expect_success 'pushing a specific ref applies remote.$name.push as refmap' '
  t/t5516-fetch-push.sh:test_expect_success 'with no remote.$name.push, it is not used as refmap' '

I'd say with --refspec is the simplest and most sensible way this can be implemented.

-- 
Felipe Contreras
Previous: Junio C HamanoNext: Felipe Contreras
Message 25 of 32 in “transport-helper: add support to delete branches”
  1. 10/10 transport-helper: add support to delete branchesFelipe Contreras, Nov 11, 2013
  2. 00/10 transport-helper: updatesFelipe Contreras, Nov 11, 2013
  3. Junio C HamanoNov 11, 2013
  4. Felipe ContrerasNov 11, 2013
  5. Junio C HamanoNov 11, 2013
  6. Richard HansenNov 12, 2013
  7. Felipe ContrerasNov 12, 2013
  8. remote-bzr: support the new 'force' optionRichard Hansen, Nov 12, 2013
  9. Felipe ContrerasNov 12, 2013
  10. 01/10 transport-helper: fix extra linesFelipe Contreras, Nov 11, 2013
  11. 08/10 fast-import: add support to delete refsFelipe Contreras, Nov 11, 2013
  12. 05/10 fast-export: improve argument parsingFelipe Contreras, Nov 11, 2013
  13. 06/10 fast-export: add new --refspec optionFelipe Contreras, Nov 11, 2013
  14. Junio C HamanoNov 11, 2013
  15. Felipe ContrerasNov 11, 2013
  16. Richard HansenNov 12, 2013
  17. Junio C HamanoNov 12, 2013
  18. Felipe ContrerasNov 12, 2013
  19. Junio C HamanoNov 12, 2013
  20. Felipe ContrerasNov 12, 2013
  21. Junio C HamanoNov 12, 2013
  22. Felipe ContrerasDec 7, 2013
  23. Junio C HamanoDec 9, 2013
  24. Junio C HamanoDec 9, 2013
  25. Felipe ContrerasApr 24, 2014
  26. 03/10 transport-helper: add 'force' to 'export' helpersFelipe Contreras, Nov 11, 2013
  27. Junio C HamanoNov 11, 2013
  28. Felipe ContrerasNov 11, 2013
  29. 09/10 fast-export: add support to delete refsFelipe Contreras, Nov 11, 2013
  30. 07/10 transport-helper: add support for old:new refspecFelipe Contreras, Nov 11, 2013
  31. 04/10 transport-helper: check for 'forced update' messageFelipe Contreras, Nov 11, 2013
  32. 02/10 transport-helper: don't update refs in dry-runFelipe Contreras, Nov 11, 2013

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.