evan_tech

Previous Entry Share Next Entry
12:08 am, 6 Jan 05

more on darcs

darcs is cute, but I don't think it'll work for me. The "push" process requires darcs on the server's end, and I don't feel like compiling Haskell on poor Brad's machine. (Also, the push runs scp multiple times, and that means I type my password multiple times. I don't want to have ssh keys giving passwordless entry to my friend's machine, especially when my laptop is easily stolen...)

I also don't quite understand how darcs handle the global namespace problem of distributed development. Suppose I have three branches from the same source: A, B, and C. Then suppose I make patches pA and pB, then merge B into A and into C. (So now I have A+pA+pB, B+pB, C+pB.) If I then merge A into C, how does it know that pB has already been applied (that is, that A's pB is the same as C's pB) without a global identifier for B or pB?

I believe the answer to that is that patches are named by their md5 (or some such hash) but I'm not sure.