[darcs-users] support for old-fashioned repos (Was: Optimize darcs diff)

Eric Kow kowey at darcs.net
Thu Aug 19 15:14:28 UTC 2010


On Wed, Aug 18, 2010 at 23:15:19 +0200, Petr Rockai wrote:
> this also breaks with non-hashed repositories. Personally I would like
> to see them deprecated anyway, so that we can stop adding code to make
> them work.

I can see how it would be valuable for us in terms of Darcs code quality
and maintainability. Speaking with my coder hat on, I would certainly be
eager to proceed; however, I also need to don that maintainer hat and
urge

I. that we adopt a broad view, not just think about what *we* want
   (nuke bits of code so we can focus on making good things happen),
   but also about what impact this has on our users

II. that we act responsibly and with careful consideration.  I'm all for
    breaking eggs to make an omelette, but not so much for smashing them
    with my fist.

Change is good, but careful careful...

> I.e. I would add a prominent note to 2.6 release notes that plain
> (old-fashioned) repositories are deprecated, that darcs diff is not
> supported with them and future releases will remove support for further
> operations.

Questions I might ask:

1. What kind of indefinite support should we provide for old-fashioned
   repositories?

2. What pre-requisites need to be fulfilled before we can withdraw
   support for old-fashioned repositories?  Note that these aren't
   pre-requisites for agreeing on the withdrawal; they are things we
   need to work towards if we should agree in principle.

3. What kind of schedule should we adopt in phasing out support for
   old-fashioned repositories?

1. How much old-fashioned?
--------------------------
Some ideas:

Perhaps we could agree on the principle that darcs proper should always
be able to get an old-fashioned repository (upgrading it as need be?).
I say this because old repositories die hard, as an extreme case, this
ancient repository from the pre darcs-1.0.4, which resurfaced around
2009-03 [1].

Alternatively, we could point to old Darcs as a way for people to get
their support. Darcs 2.5 still supports old-fashioned repos, albeit with
bugs like http://bugs.darcs.net/issue1913

A third solution, we could commit to providing *some* sort of mechanism
for users to access their old-fashioned repositories, for example, a
Darcs library using tool that just does the get.

[1] http://lists.osuosl.org/pipermail/darcs-users/2009-March/018311.html

2. Phase-out pre-requisites?
----------------------------
Would it be reasonable to want the large majority of repositories to be
hashed before we even start putting out deprecation warnings?  [or is
this one of those situations where people are only going to move if we
force them to?].

Can we use code.haskell.org and darcs.haskell.org as approximations of
the Darcs user community?

How about ensuring that for users who are still deliberately using
hashed repositories, hashed repositories are no longer a significant
performance regression?

How about answering concerns Ian may have about hashed repository
performance in practice?

 - Garbage collection?
 - Large _darcs/pristine.hashed due to insufficient bucketing?

What other ideas for pre-requisites could we have?  What sorts of
indicators could we use to ensure that we're being sufficiently
responsible in such a move?

Again, keep in mind that we don't have to answer these *now* to agree
to we should ditch old-fashioned, just that we may want to make sure we
answer them in our phase-out plan.

Maybe it's time we gathered some data.  There's this Darcs User Survey
we've been wanting going <http://bugs.darcs.net/issue1069>.  It seems
like a Google Spreadsheet would be an easy way to accomplish this.
Questions might be:

 1. What does darcs --version on your computer report?
 2. Pick your 3 most frequently used repositories; what does darcs
    show repo | grep blah output?
 3. ...

Anecdotes: Neil Mitchell still uses darcs 1.0.9 on Windows because he
finds it more reliable that Darcs 2 (should check what was the latest
Darcs 2 he's used).  And I've heard of one largish company that use
darcs 1.0.6 under Windows because it's a stable works-for-them solution.

3. Phase-out schedule?
----------------------
Phew, I think that may just be a consequence of the first two questions.

Petr suggests a sort of withering-away approach... maybe there's a more
deliberate strategy?

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
For a faster response, try +44 (0)1273 64 2905 or
xmpp:kowey at jabber.fr (Jabber or Google Talk only)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20100819/d3cb0588/attachment.pgp>


More information about the darcs-users mailing list