Your money or your spec
<p><a href="http://www.catb.org/esr/reposurgeon/">reposurgeon</a> has been stable for several months now, since the Subversion dump analyzer got to the point where people stopped appearing in my mailbox with the Pathological Subversion Repository Fuckup Of The Week.</p>
<p>Still, every once in a longer while somebody will materialize telling me they have some situation in a repo conversion that they want me to help them fix.  The general form of these requests is like this.  &#8220;I have {detailed description of a branch/merge topology nightmare that makes Eric&#8217;s brain hurt to contemplate}. What do I do to fix it?&#8221;</p>
<p>I am now going to announce a policy about this.  There are exactly two ways ways you can get me to solve your repository problem.</p>
<p><span id="more-5087"></span></p>
<p>1. Pay me money to soothe away the pain.  It will not be a small amount of money; my hours don&#8217;t come cheap and these jobs tend to eat a lot of them &#8211; not on the surgery itself but on the analysis leading up to it.</p>
<p>2. Specify a new surgical primitive that will fix your problem.  To go this route, you need to (a) clearly describe the primitive, (b) send me a small test repository exhibiting its preconditions, and (c) explain what the postcondition is &#8211; that is, what you want the repository DAG to look like after the operation.</p>
<p>If your primitive is well-specified, and you&#8217;re willing to wait until I get it done at my own pace, I&#8217;ll write it for free.  If you want a deadline date, you have to buy my time to guarantee that.</p>
<p>If your primitive is not well specified, and/or you can&#8217;t produce a test case, I&#8217;ll probably tell you to come back when you can fulfil both conditions. You can buy partial exemption from these conditions by paying me lots of money.</p>
<p>That is all.</p>
