DVCS where ancestry is not part of the revision-id?

Stefan Monnier monnier at iro.umontreal.ca
Wed Jan 27 20:16:59 GMT 2010


>> Does anyone know a DVCS where the revision-id is only computed from the
>> actual tree's content, without paying any attention to the ancestry and
>> the commit log?
>> 
>> This would seem to be a lot better than what we have now, since it would
>> make it easy to change commit logs after the fact, as well as change the
>> ancestry after the fact.
>> 
>> The main application would be for rebase: rebase would only change the
>> ancestry, by "explaining" the resulting tree as a new "cleaner" set of
>> patches, without screwing over people who were following the branch
>> before the rebase since the old ancestry is still there.
>> 
>> If course, it would make it possible to have cycles in the ancestry
>> (typically when you undo a change), so it would bring in all kinds of
>> new problems,
>>
> Darcs ?

Kind of, except that darcs doesn't pay much attention to the result
tree, it only tracks patches.  I really like some parts of darcs, but
when it comes to exploring the history of an object, I find it to be
slightly lacking (it tends to show you the infinite possible ways in
which a collection of patches can be combined to give you the end
result, rather than the few ways in which they've actually been put
together).
And if two sets of patches lead to the same tree, darcs won't notice it,
and won't let you consider one set as "equivalent" to the other.


        Stefan




More information about the bazaar mailing list