Re: [PATCH 2/4] fast-import: define a new option command
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:47:14
Johannes Schindelin [off-list ref] wrote:
On Thu, 13 Aug 2009, Shawn O. Pearce wrote:quoted
Sverre Rabbelier [off-list ref] wrote:quoted
+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.
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.