Joseph Myers <[email protected]>:
> On Wed, 18 Dec 2019, Eric S. Raymond wrote:
>
> > And that, ladies and gentlemen, is why reposurgeon has to be as
> > large and complex as it is.
>
> And, in the end, it *is* complex software on which you build simple
> scripts. gcc.lift is a simple script, written in the domain-specific
> reposurgeon language.
The Patterns crowd speaks of "alternating hard and soft layers".
The design of reposurgeon was driven by two insights:
1. Previous VCS-conversion tools sucked in part because they tried to
be too automatic, eliminating human judgment. Repposurgeon is designed
and intended to be a *judgment amplifier*, doing mechanics and freeing
the human operator to think about conversion policy. Hence the DSL.
2. git fast-import streams are a pretty capable format for interchanging
version-control histories. Not perfect, but good enough that you can gain
a lot by co-opting existing importers and exporters.
Mate the idea of a judgment-amplifying DSL to a structure editor for
git fast-import streams and reposurgeon is what you get.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>