[darcs-users] Colin Walters blogs on Arch changesets vs Darcs
Anthony Towns
aj at azure.humbug.org.au
Mon Nov 22 04:51:46 UTC 2004
David Roundy wrote:
> On Sun, Nov 21, 2004 at 06:23:53PM +1000, Anthony Towns wrote:
>>Because users suck, you need to do some authentication too, so we want
>>the manifest file to look like:
>> [TAG DARCSHIVE-0.4
>> aj at azure.humbug.org.au**20041121035651]
>> **
>> adf2acdc15c84a905189346934ecca1b 490 ./BUGS
>> 284ede192494b511a58bfeabd71e4c0f 589 ./darcs-scp
>> 80c439f2fc9119c6f5165da872da73de 473 ./darcs-ssh
>> dd145a47eebf7c23e5c00e739e4cfc71 6622 ./darcshive
>> 854585c02722ee0b639b363acdf3be3b 409 ./darcshive.cgi
>> 1692159f74ff844afe729c6097c7dcd7 1724 ./README
> Hmmmm. This is interesting, in that it sounds a lot like one of Juliusz's
> ideas for spiffing up Current, which is to store hashes of all the files in
> _darcs/current, rather than the files themselves. His idea was that we
> could then generate from patches the actual file contents, when needed
> (which could be more than a tad expensive).
Yup. I guess there are two key questions:
* What about previous history/patches to whatever version the user
wanted to patch?
* What's the most pleasant format for getting this stuff to users?
(Actually I thought there was a third, but I can't think of it now)
Shipping a simple MANIFEST file seems fairly pleasant -- if you include
the generated files too and sign it, it works for authentication as well
as making it easy for users to turn themselves into developers; but otoh
shipping a skeletal _darcs/ tree means you could at least include a full
inventory which might come in handy.
(Another alternative, if this is important, would be to have a ChangeLog
format that can be turned back into an inventory directly)
Oh, that's the third issue: keeping darcs as simple as possible internally.
> I'm imagining the command being a flag
> to optimize: darcs optimize --from-hashed-current, or somesuch. It could
> accept a tarball optionally as an argument, to get the "clean" sources.
Hrm, I'd find "optimize" to be an odd command to be using; "init" or
"get" would make more sense to me if I'm somewhere I can't yet "record".
YMMV, IMHO, FWIW, blahblahblah.
> darcs optimize --from-hashed-tarball ../darcs-hive-0.5.tar.gz
Does darcs really want to deal with variations like .tar.gz, .tar.bz2,
.zip, .srpm, .hqx? Hrm, I guess "darcs dist" already implies darcs has
to deal with tarballs in some sense, though.
tar xzvf darcs-hive-0.4.tar.gz
cd darcs-hive-0.4
less darcshive.cgi
# <expletives>
vi darcshive.cgi
# much better!
darcs init --from-manifest ./MANIFEST \
--initial-record-from ../darcs-hive-0.4.tar.gz
darcs record -m 'fix stupid bugs'
darcs send
versus
...
# much better!
cd ..
mv darcs-hive-0.4 darcs-hive-0.4aj
tar xzvf darcs-hive-0.4.tar.gz
cd darcs-hive-0.4
darcs init --from-manifest ./MANIFEST
cp -a ../darcs-hive-0.4aj/* ./
darcs record -m 'fix stupid bugs'
darcs send
(The cases are the same if you darcs-ify your working directory before
making any changes, of course)
> The question would be how to generate the tarball in the first place. If
> you use darcs dist, this is pretty easy. But alas, there are good reasons
> for using automake, for example, and I'm not sure how we could make it
> really straightforward to convince automake to generate the appropriate
> _darcs.
You could call it "_darcs-skel" or something, to make it clear that you
need to use "darcs init --from-skel" before you can use record. Then you
can make "_darcs-skel" a Makefile target too. Maybe.
> I think I'm going in circles (I almost caught my tail!), so I'll stop now.
Sure, it's quite a triumph when you do, but it sure is hard to get the
taste out of your mouth afterwards.
Hrm, bonus MANIFEST feature: if you send someone a tarball of something
you're working on, that you haven't tagged yet, and suddenly find
they're sending you useful features, you can go back to it, tag it,
create a MANIFEST, and send it to them. Well, you could do the same
thing with a darcs-skel directory, but a text file's easier to bounce
around after the fact.
Cheers,
aj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 155 bytes
Desc: OpenPGP digital signature
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20041122/8c9b6e33/attachment.pgp
More information about the darcs-users
mailing list