[darcs-users] providing one-time fast-export in darcs

Guillaume Hoffmann guillaumh at gmail.com
Wed Dec 18 15:11:27 UTC 2013


I'd like to suggest that darcs should provide built-in, one-time
fast-export output.

Let me explain why we would want this, and why only the export direction:

- narrative for darcs 2.10:  a built-in fast-export feature fits in a
narrative that presents darcs as a system that people can try knowing
they are free to switch to another tool without much work. I hope that
it would lower the resistance to trying it.

- maintainability: every now and then people pop up on IRC asking for
the code of darcs-bridge, or saying that it does not build. (Granted,
this happens with low frequency). With darcs providing natively a
fast-export output we fix this situation for the export direction.

- implementation easiness: we already have a couple of implementations
([1], [2]). After all fast-export without marks support is just a
fancy `darcs log -v`. On the other hand, fast-import is much more
complex (to begin with, it is not read-only) and still an open
problem, AFAIK.

I'm not sure if the best way to provide this feature would be `darcs
log --fast-export`, or a new command like `darcs fast-export`. The
former would convey the idea that the output is for a one-time use
only, without marks support, with no garantee of being the same if
history if reordered, etc. But if we want to support incremental
export, then it gets more complicated that a fancy `darcs log` output,
and probably deserves a separate command.

I'd be happy with a minimal but working export support, with more
feature-rich export/import tool being separated from darcs.

Code duplication between seems smelly, but I think we are not talking
about much code (between 125 lines in Petr's fastconvert [1] which
would be what we would use, and 600 lines in Owen's darcs-bridge which
is more complicated [2]).



[1] http://repos.mornfall.net/darcs-fastconvert/Export.hs
[2] http://hub.darcs.net/owst/darcs-bridge-export-branch/browse/Export.hs

More information about the darcs-users mailing list