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

Re: [PATCH 2/4] fast-import: define a new option command

From
Shawn O. Pearce <spearce@spearce.org>
Date
Aug 13, 2009, 15:04 UTC
Message-ID
<20090813150446.GM1033@spearce.org>
In-Reply-To
<alpine.DEB.1.00.0908131652190.7429@intel-tinevez-2-302>
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 18 quoted lines
> On Thu, 13 Aug 2009, Shawn O. Pearce wrote:
> > Sverre Rabbelier <srabbelier@gmail.com> wrote:
> >
> > > +Note that options specified by the frontend override any options the
> > > +user may specify to git fast-import itself.
> > 
> > Hmmph.  Do we really want that?  I would think the command line options 
> > should override the stream, such that we can then do something like:
> > 
> >   hg fast-export >foo
> >   git fast-import --export-marks=mymarks <foo
> > 
> > even though 'option export-marks=bar' appears in foo.
> 
> I guess the reason is that this is harder to implement.  The problem is 
> that you _have_ to parse the command line options first.  So you need to 
> record with every option you set that it has been set by the command line, 
> and must not be overridden by the in-stream options.

It might be easy enough to just save the argv into a global, and reparse the argv immediately before the first non-option command.

Show 6 quoted lines
> OTOH,
> 
> 	hg fast-export |
> 	sed '1,/^blob/s/^option export-marks=.*$//' > foo
> 
> is relatively easy.

Just for the archives, but that sed expression won't catch inline data under a file command. Its legal for a stream to not use the blob command at all. I guess it would need to be:

 	hg fast-export |
 	sed '1,/^(blob|commit)/s/^option export-marks=.*$//' > foo
-- 
Shawn.
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 9 of 30 in “fast-import: add a new option command”
  1. 0/4 fast-import: add a new option commandSverre Rabbelier, Aug 13, 2009
  2. 1/4 fast-import: put option parsing code in seperate functionsSverre Rabbelier, Aug 13, 2009
  3. 2/4 fast-import: define a new option commandSverre Rabbelier, Aug 13, 2009
  4. 3/4 fast-import: add option commandSverre Rabbelier, Aug 13, 2009
  5. 4/4 fast-import: test the new option commandSverre Rabbelier, Aug 13, 2009
  6. Shawn O. PearceAug 13, 2009
  7. Shawn O. PearceAug 13, 2009
  8. Johannes SchindelinAug 13, 2009
  9. Shawn O. PearceAug 13, 2009
  10. Johannes SchindelinAug 13, 2009
  11. Shawn O. PearceAug 13, 2009
  12. Shawn O. PearceAug 13, 2009
  13. Sverre RabbelierAug 13, 2009
  14. Johannes SchindelinAug 13, 2009
  15. Sverre RabbelierAug 13, 2009
  16. Shawn O. PearceAug 13, 2009
  17. Sverre RabbelierAug 13, 2009
  18. Shawn O. PearceAug 13, 2009
  19. Sverre RabbelierAug 13, 2009
  20. Shawn O. PearceAug 13, 2009
  21. Johannes SchindelinAug 13, 2009
  22. Sverre RabbelierAug 13, 2009
  23. Shawn O. PearceAug 13, 2009
  24. Sverre RabbelierAug 13, 2009
  25. Junio C HamanoAug 13, 2009
  26. Sverre RabbelierAug 13, 2009
  27. Junio C HamanoAug 13, 2009
  28. Sverre RabbelierAug 13, 2009
  29. Sverre RabbelierNov 23, 2009
  30. Shawn O. PearceNov 23, 2009

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.