[darcs-users] Naming consistency between darcs and other DVCSs

Dan Pascu dan at ag-projects.com
Thu Jul 16 05:20:22 UTC 2009

On 15 Jul 2009, at 10:34, Ashley Moran wrote:

> Hi all
> I just re-stumbled across the darcs Rosetta Stone[1].  What I hadn't  
> noticed before was the section "Recommendations for unification":
> 	• rename get to clone
> 	• rename changes to log
> 	• rename record to commit (DVCS are popular enough now)
> 	• rename rollback to new "repeal"
> These changes sound sensible to me.  (Plus `darcs uncommit`?)  Is  
> there an active effort to make darcs more consistent with other  
> DVCSes?  Regardless of which came first, git terminology is becoming  
> ubiquitous.  After showing an existing git user darcs, and noticing  
> his surprise at `darcs annotate -p`, I think there may be a strong  
> case for a language reform.

Actually one can look at this the other way around. Every time I have  
to work with svn, hg, git, it strikes me how difficult is to use them  
compared to darcs. They do things in twisted ways, or have unnatural  
names for their commands (mostly because they just copied them from  
previous systems). Following your argument I'd say there is a strong  
case for a language reform in git, hg, svn, ... :P

It would alienate me to see that a very simple and intuitive command  
set is butchered down and morphed into something else just to make it  
easier for git users not to be surprised. If anyone hopes that this  
would attract more git/hg/svn/whatever users to darcs, she's overly  
optimistic. None will leave their favorite VCS to move to a little  
known system that has a similar command set. Honestly how many git  
users switching to mercurial or the other way around do anyone here  
know about?

That's not to say I'm against improving the command names. But what I  
consider improvement in their case is making them better express what  
they do so they're intuitive to use. I do not consider an improvement  
mimicking other VCS' commands just because they're more popular.

 From the above examples it's clear that darcs annotate -p is  
unexpected, even for a darcs user and it should be reconsidered and a  
better alternative provided. But as far as commit/log/xyz goes, I'm  
not in favor of mimicking other systems just based on their popularity  
and the surprised factor of their users.
And a small slip with annotate certainly doesn't call for a "language  
reform". It only calls for replacing annotate -p with something better.

The commands should use the words that best describe what they do, not  
what others use out of years of habit. I'm really grateful that when  
David made darcs not only he did reconsider how the VCS works, he also  
did reconsider how we express those actions, instead of mindlessly  
copying command names over from CVS/svn.


More information about the darcs-users mailing list