[darcs-users] Thoughts about theory of patches

Tanksley, William D. Jr. WILLIAM.D.TANKSLEY.JR at saic.com
Fri Apr 23 15:43:23 UTC 2004


I just have to get this out there before I forget.

I've been thinking about what it would take to make deletion (of files and
of lines) commute with other patches, and it became clear to me that file
names plus line numbers aren't enough to identify text for a robust patch
control. You need to be able to express insertions of text without having to
change all the line numbers after the insertion.

So suppose you have a file like this:

This is
my life.

Viewed with line numbers, it would look like this:

1   |This is
2   |my life.

How can you insert a line without changing the existing line numbers? By
using decimals.

1   |This is
1.1 |the story of
2   |my life.

...and then it hit me: I've seen this before, from Ted Nelson: Xanadu, now
open source as Udanax. It's a lot of things, but probably most notoriously
it's a vision for what the web _could_ be. However, it's a whole lot more,
and one of the things they invented was a way to specify content and changes
to the content regardless of what other people are doing to the content
itself (my little example of decimals above gives a very brief sketch of
what you can do with it). A brief look at their page
(http://www.udanax.com/) shows a VERY compatible philosophy with darcs (they
talk about version control, and now that I know darcs I can see that they
had the same ideas), so I think this will be a useful thing for me to
examine.

Anyone else interested?

-Billy




More information about the darcs-users mailing list