Thanks for the detailed explanation Eric.

On 5/7/10 3:41 AM, Eric Kow wrote:
We would have three formats:

    darcs-1-unhashed (>= 1.x, unhashed, mergers)
    darcs-1-hashed   (>= 2.x, hashed, mergers)     (get default)
    darcs-2-hashed   (>= 2.x, hashed, conflictors) (get/init default)

We can either make these flags like --darcs-1-unhashed or arguments to a
single --format flag, the choice of which I claim is not essential at
this time.

I think a single --format flag is the right ui and conceptual model, because 
these are mutually exclusive alternatives.

Simon's approach is to hide the internal details and present flags which
answer user questions:

    darcs-1
    darcs-2-backward-compatible
    darcs-2

It sounds like we agree on describing repo formats at least conceptually by simple names in a linear progression. And we differ on what those names should be.

But what I'm worried about this:

  A. Future development: introducing a third repository format: what if
     the Darcs 2.x line introduces a mega-hashed repository format that
     we want everybody to use?  This means your orthogonal choices would
     be:

      * mergers vs conflictors
      * unhashed, hashed, mega-hashed

     How would this fit into an encapsulation model?  Would we deny
     mergers users the ability to use mega-hashed repos?

As a user, I would want darcs to make this choice for me, and just do the best thing. When that's not possible, I'd expect a new format (darcs-3) introduced by darcs 3. Under my proposal darcs 2.x wouldn't be allowed to add an incompatible repo format. (But if it did, it would be darcs-2-mega-hashed, and --format would support it just like the others.)

Back to the names - the problem is what to call the interim format. Today, there's only one of those, which informally we call "hashed". Of the alternatives we've discussed so far, I slightly prefer the "darcs-2-backward-compatible" naming scheme; it can be misinterpreted, but so can all the others.

If we can't agree on this or a batter name, a more modest proposal would be to punt the naming issue into the future, and stick with --format=darcs-1|hashed|darcs-2. Ie, change the ui and conceptual model to reflect (current) darcs users' reality, rather than developers'. This too would be a step forward.


_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to