Darcs

Andy Gill andy at galois.com
Fri Nov 23 12:52:58 EST 2007


One problem I do have with darcs is how hard it is to specify one
version number of a repo that everyone can share; in SVN this is  
trivial.

I do strongly support us using a distributed version control system,
this lets us stage personal testing.

AndyG

On Nov 23, 2007, at 8:03 AM, Ian Lynagh wrote:

> On Fri, Nov 23, 2007 at 03:25:40PM +0000, Simon Marlow wrote:
>>
>>   - How much effort it is to switch, i.e. we need to list the things
>>     that would have to change
>
> We'd have to change the buildbot script, but that ought to be trivial
> (assuming the replacement is supported by buildbot, which Mercurial  
> and
> Git are by the looks of it).
>
>> What should we consider as alternatives?  At least Mercurial and  
>> git, I
>> would think.   Any others?  I think we should only consider  
>> distributed VCs.
>
> Can someone familiar with the alternatives please give the equivalent
> for these commands in them?
>
>     # Make a repo with a single file with lines 1,3,5,7 in
>
>     mkdir repo1
>     cd repo1
>     darcs init
>     printf 'Line1\nLine3\nLine5\nLine7\n' > file
>     darcs record --all --look-for-adds -m patch1 -A igloo at earth.li
>     cd ..
>
>     # Check out 2 copies of the repo
>
>     darcs get repo1 repo2
>     darcs get repo1 repo3
>
>     # Add a patch that adds lines 2 and 6, then another that adds  
> line 4
>
>     cd repo1
>     printf 'Line1\nLine2\nLine3\nLine5\nLine6\nLine7\n' > file
>     darcs record --all -m patch2
>     printf 'Line1\nLine2\nLine3\nLine4\nLine5\nLine6\nLine7\n' > file
>     darcs record --all -m patch3
>
>     # Pull the line 4 patch, but not the lines 2 and 6 patch, into the
>     # other repos non-interactively and interactively
>
>     cd ../repo2
>     darcs pull --all --patches patch3
>     cd ../repo3
>     darcs pull
>     n
>     y
>
>     # repo2's and repo3's file now contains lines 1,3,4,5,7
>
>> are you violently opposed/in favour of switching?
>>
>> ---
>>
>> I should say a little about how *I* feel about darcs.  I've grown  
>> to love
>> cherry-picking and one-command merging, when it works.  I'd be  
>> loathe to
>> lose the ability to commit/revert a subset of the changes in a  
>> tree or file
>> (I use emacs' darcsum mode).  I love the fact that I can unrecord/ 
>> re-record
>> patches.
>>
>> We do need merging to work, though.
>
> I basically agree with all that, and I love darcs too. Neil's point
> about community consistency is a good one too, I think.
>
> Overall I'm in favour of sticking, although not violently. I haven't
> tried any of the distributed alternatives though, so I'm not sure how
> useful that opinion is  :-)
>
>> I would like it if it were possible to cherry-pick a patch without  
>> its
>> dependencies, resulting in a conflict that needs to be resolved,  
>> in a way
>> that works nicely if you happen to pull the dependencies later too.
>
> Ug. Intuitively the resolution patch conflicts with the actual
> dependencies. That sounds a little scary.
>
>
> Thanks
> Ian
>
> _______________________________________________
> Cvs-ghc mailing list
> Cvs-ghc at haskell.org
> http://www.haskell.org/mailman/listinfo/cvs-ghc



More information about the Cvs-ghc mailing list