gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] Re: darcs vs tla


From: John A Meinel
Subject: Re: [Gnu-arch-users] Re: darcs vs tla
Date: Wed, 17 Nov 2004 12:31:37 -0600
User-agent: Mozilla Thunderbird 0.9 (Windows/20041103)

Mark Stosberg wrote:
On 2004-11-17, John A Meinel <address@hidden> wrote:

I assume darcs requires darcs mv, darcs rm, and darcs add to make things work right. With tagline tla, I just put the files in place and I can commit.


Something like that. It may be a little easier with darcs than it
sounds, though. If you are starting with a clean tree and good REs
for 'boring' and 'binary' files, you can just do:

 $ darcs add -r *

I think it's also relevent that darcs has simpler account for files that
are tracked and not tracked. Boring and Binary are much more more
intuitive than 'precious', which is not a concept I've ever felt I
needed.

Yeah, arch having precious/backup/junk/source/unrecognized is more confusing. I only ever use precious/junk/source, though generally the distinction is minor.

In tla, though, you don't need the binary distinction because it always preserves the blobs you give it. If diff is able to create a textual patch, that is what you get, otherwise it reverts to the whole blob approach.


 From my experience with Arch, 'darcs add -r *' is noticeable faster
than visiting eary file that can use a tagline and adding one. Not to
mention the other 5% that may be binary and need to handled differently
anyway.


Sure, but there is also scripts for automating adding taglines. There is a script in tlacontrib called "add-tagline.py" which can traverse a tree and add appropriate taglines to files.

Even still, the initial add probably takes longer for tla. I'm talking more about after the first one, when you've been using the project. Copy a file and it shows up.

You do have to use "darcs mv" to move files, but that is about as easy
to remember as just 'mv', and if you forget, you will get a reminder
when reviewing your changes.


mv and darcs mv are about the same. But you can't use a GUI navigator and have it run darcs mv.

You don't always have to use 'rm' either. From the docs [1]:

"Remove should be called when you want to remove a file from your
project, but don't actually want to delete the file. Otherwise just
delete the file or directory, and darcs will notice that it has been
removed."

 1. http://www.darcs.net/manual/node7.html#SECTION00732000000000000000

It is nice that the behavior is completely consistent, unlike tagline
which doesn't work for binary files.


So instead of giving you the option (you can tell tla to use only explicit tags if you have to have 100% consistent behavior), it just requires you to always use darcs mv. (It is nice that it notices rm, tla could be updated for this, but you might have meant move instead of rm, and gotten yourself in trouble.)


I'm curious why _darcs instead of .darcs.


I understand that it's more portable to Windows. (I don't recall what problem Windows has was the leading dot, though).

You cannot manually create a file with a leading dot in explorer. But as far as I know, any other program has no problem with it.


I'm playing with darcs a little, unfortunately I chose the pathological case of the linux kernel tree, which causes all kinds of problems. :) (darcs get needs 680MB, and about 20 minutes to run.) darcs changes took a really long time and then let me know I didn't set the runtime memory high enough.


The Linux kernel definitely stresses darcs now. But, I think having the
kernel available as a darcs repo will challenge the project to step up
to tackle the scalability issues.

True, lets hope that happens.


But I'm honestly willing to play around with it on a smaller scale. I didn't find darcs own repository, though. There was a link on the main page for the linux kernel, but I didn't see one for darcs itself.


darcs get http://www.abridgegame.org/repos/darcs/


Good to know, but why isn't it part of the official page? Going there gives you the index page, and no indication of how to get the source.


    Mark

John
=:->

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]