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