git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Bu Bacoo <bubacoo@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Darcs
Date: Sun, 24 Jun 2007 10:59:52 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.0.98.0706241030540.3593@woody.linux-foundation.org> (raw)
In-Reply-To: <cecbdd220706232232w77a609faxf0e6b2dc37f0d1f4@mail.gmail.com>



On Sun, 24 Jun 2007, Bu Bacoo wrote:
> 
> What do you think about darcs?
> 
> There was a lot written/spoken about morons and stupidos around
> thinking in cvs / svn, etc... (what would be the words for dudes
> around vss ....).

Ahh, a chance to flame! I will never back down from such a challenge!

Darcs is .. umm .. ehh..

"Academic".

Ok, I realize that's a pretty weak flame, and I'm sorry. It's not that 
darcs users are "stupid" or "complete morons" or "donkey turds with arms 
and legs", it's just that the whole project is centered around some 
academic ideas that have absolutely no relevance in real life, and that 
just don't work in practice.

In other words, it's a fun project, but it's largely irrelevant. The whole 
underpinning of darcs ("everything is a collection of patches" and the 
"patch algebra") is kind of interesting, but it's irrelevant. The thing it 
solves is not the thing you want solved, and you really don't want to 
handle conflicts at a "patch" level.

I personally think darcs is closer to a smart "quilt" than a "final" SCM. 
It's good for keeping track of patches, but let's face it, if you have 
really big changes, you don't want to handle them the way darcs does.

And in that sense, I do think the two approaches can _complement_ each 
other. A lot of people use quilt (or quite often, something similar, based 
on a SCM in the background: git has and stgit and guilt, hg has "mercurial 
queues"). And it's absolutely true that you want to have a "fluid" level 
too, and darcs can do that. 

But you do *not* want to do the whole project history that way. At some 
point, you need something that works at another level than patch queues. 
Darcs itself kind of has something like this with "checkpointing", but the 
fact is, git is just better at this.

So it basically boils down to the fact that I don't think darcs solves the 
real problems, and won't scale up. It's versioning model seems *totally* 
broken, for example. 

Fundmantal example: somebody has a problem/bug. Tell me how to tell a 
developer what his exact version is - without creating new tags, and 
without having to synchronize the archives. Just tell the developer what 
version he is at.

In git, you just give a revision number. In darcs, what the *hell* do you 
do? And that's a pretty damn fundamental operation for a source control 
management setup! As far as I know, darcs only has patch identities.

			Linus

  reply	other threads:[~2007-06-24 18:00 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-24  5:32 Darcs Bu Bacoo
2007-06-24 17:59 ` Linus Torvalds [this message]
2007-06-24 20:45   ` Darcs Martin Langhoff
2007-06-24 21:19     ` Darcs Jan Hudec
2007-06-24 21:52     ` Darcs Theodore Tso
2007-06-24 22:22     ` Darcs Junio C Hamano
     [not found]       ` <61e816970706241638j60830741p2cd1a102a72ae226@mail.gmail.com>
2007-06-24 23:40         ` Darcs Dan Chokola
2007-06-25  0:00         ` Darcs Linus Torvalds
2007-06-25  4:44           ` Darcs Dan Chokola
2007-06-27  0:00             ` Darcs Martin Langhoff
2007-06-24 23:21     ` Darcs Linus Torvalds
2007-06-28  1:26   ` Darcs Josh Triplett
2007-06-28 13:02     ` Darcs Johannes Schindelin
2007-06-29  7:13     ` Darcs Bu Bacoo
2007-06-25 11:36 ` Darcs Florian Weimer
2007-06-25 16:54   ` Darcs Bu Bacoo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.0.98.0706241030540.3593@woody.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=bubacoo@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).