Evan Martin (evan) wrote in evan_tech,
Evan Martin

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.

  • your vcs sucks

    I've been hacking on some Haskell stuff lately that's all managed in darcs and it's reminded me of an observation I made over two years ago now (see…

  • using git grafts to restore svn merge history

    Here's a quick tutorial on using git grafts to fill in implied svn merge history. Say you're using git-svn to track a project, which has a trunk…

  • topgit

    TopGit - A different patch queue manager: this looks like exactly what I've been wishing for! You can express interdependencies between branches,…

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.