[darcs-users] Fwd: Darcs Problems

Eric Kow eric.kow at gmail.com
Wed Feb 20 19:38:50 UTC 2013


Forwarding with kind permission from Sam

---------- Forwarded message ----------
From: Samuel Elliott <sam at lenary.co.uk>
Date: 20 February 2013 16:35
Subject: Darcs Problems
To: eric.kow at gmail.com


Hey Eric,

I think it's both easier to raise my concerns in an email, and a bit fairer
to do so initially, not only because I could be misunderstanding, but also
because Darcs could be not so easy to understand.

I use git every day, and understand it (to quite an advanced level, I
believe) and like it a lot. I also use both svn and hg occasionally - I
dislike but can put up with both of them. Hg also has annoyances that I
believe are systemic of their ideas too, but we're talking about darcs
right now.

So, onto (my perceived) problems with darcs:

1) No Branches etc. This is basically the main problem that I see. Firstly,
what if I want to develop a feature not on the main "stream" of
commits/patches in the repository? What if I want to check out a previous
tag or revision? Say if I want to make modifications to version 0.1 and
then build from the modification from source, but the repo has had commits
since then and is now (effectively) version 0.2, how would I do that? The
only way I could find to do this was to `darcs show changes --number`, look
for the commit/patch with the message to tell me what it's up to, then
`darcs obliterate --last=<n-1>` where n was the number beside the changeset
I wanted.

2) Identifiers: While darcs evidently uses some kind of sha to identify
commits/changesets/changes/patches, these aren't actually *shown* anywhere,
nor can I use them. for example, `darcs show changes` is pretty much
useless, with this in mind.

3) General usability: Git is really nice in that it will automagically
invoke `less` or equivalent if output is longer than a screen. This means
my terminal fills up with lots of verbose, but entirely useless
information, especially as the commits at the end of the output are the
oldest (yes, I know I could use `reverse`, but I prefer them
recentest->oldest and only one screen of output)

All in all it doesn't feel too usable. I really wouldn't be surprised if
the underlying concepts were absolutely beautiful, but when it comes down
to tooling, what's also important is that it's really nice to use - hence
why git's model, though a bit of a leaky abstraction in places, is actually
really nice to use.

Thanks for your time/interest. I hope I haven't been too harsh, but also
that something gets changed due to my criticism.

Sam
--
Samuel Elliott
sam at lenary.co.uk
+44 (0)7891 993 664
--




-- 
Eric Kow <http://erickow.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20130220/ac1e7999/attachment.html>


More information about the darcs-users mailing list