[darcs-users] make `darcs changes` interactive by default?

Gian Piero Carrubba gpiero at rm-rf.it
Mon Nov 25 19:47:02 UTC 2013


Beware: (initially unintended, if it matters) rant below.

* [Fri, Nov 22, 2013 at 07:33:36PM +0100] Ben Franksen:
>It may be a bad idea to do things differently just out of spite, but 
>IMO a "good reason" is enough to be different. Demanding "absolute 
>necessity" raises the bar a bit too high IMHO.

I support your point here, but I would also go further.  Sometimes 
implementing a feature just for trying it out turns out to be a good 
idea behind your expectations.
 From my point of view, this is partly the case for 'interactive 
changes': I wouldn't have cared to have it, I don't think it's a killer 
feature or so, but after having tried it out I agree it can work. 
Leaving the 'log' alias for everybody that would expect it to act as in 
most other VCSs, and with some minor adjustments, in particular the use 
of a pager (but this is not related to the default interactivity of 
'changes').

>Enough said on UI questions. Minor differences in the UI are not the 
>reason Darcs has few users.

Nowadays all the DCSs I know have similar UIs, but in the past a cleaner 
and simpler UI was a strong point in favour of Darcs. Years ago, when I 
was looking around for replacing TLA, I tried the then just published 
Git. Frankly: six months or so of my worst user experience ever, only 
partly mitigated using cogito. Switching to Darcs and its UI was a real 
relief. Still today I think Darcs has the most appealing UI, but I 
concede it could partly be because I'm used to it.

>More important is that it leaks memory, which becomes
>noticeable when importing large repos, especially with binary files. I
>stumbled over this problem just a few days ago. Had to kill -9 an initial
>'darcs record -la' after about 10 Minutes because Darcs consumed all the
>memory on my machine and it became almost unusable due to swapping.

Some time has passed since the last time I've encountered this 
behaviour, probably mostly because I didn't try to create "huge" 
repositories recently, but I agree this is a real show-stopper in some 
situations. And the same is true for the (I think related) merging 
problem (I personally haven't seen it in ages, but I trust the official 
note that states that there could be corners cases in which it can still 
happen). And, simply put, in the every day usage Darcs is slow if 
compared with other VCSs (not to a sensible order, IMHO, but it still 
is). Anyway, even if they all were completely fixed, I don't think darcs 
would get *a lot* more users (even forgetting we already have a 
catch-all contender in the arena).
When trying to explain darcs to git[0] users, I use the "science vs 
technology" argument[1]. Problem is that development cycle (I mean: 
management of the sources, not development by itself) is mostly viewed 
as a matter of technology, not of science. Just for an example, Darcs 
inherently does not maintain a (proper/strict/whatever) history, but 
history seems crucial in the way most people use or simply think about a 
VCS. It could be that they have been influenced by the tools they use, 
or it could be vice versa, I'm not sure. Anyway if (or until) the source 
management work-flow will continue to be seen as it mostly is now, I 
think Darcs simply would not fit in most environments.

>(And I am still a dedicated Darcs fan.)

Same here.

Ciao,
Gian Piero.

[0] It would be the same with other DCSs, but I happen to only know Git 
users.

[1] Sometimes, with more IT literate people, I also cite the Gabriel's 
piece "Worse is better". While I'm not 100% sure that Darcs is the 
"right thing" (or better: I'm not sure Darcs is 100% the right thing), 
I'm totally sure that Git represents the "New Jersey" approach.[2]  And 
you know what ? We're so used to the "worse thing" when dealing with 
software, that we naturally consider it good (or good enough), while the 
"right thing" simply seems "strange".

[2] And just for indirectly answering to Guillame: IMHO, Darcs should 
not and could not compete at the same level with all the others DCSs.  
It's particularity is in that it (at least) tries to achieve the "right" 
approach, so this is the point that should be valued. Well, the "how" is 
up to you, I cannot help much here (but while I'm at it, let me thank 
you all - core team and casual contributors - for the great work done so 
far).


More information about the darcs-users mailing list