Thread (10 messages) flat view 10 messages, 8 authors, 2016-06-15
  • Darcs · Bu Bacoo <hidden> · 2016-06-15
  • Re: Darcs · Linus Torvalds <torvalds@linux-foundation.org> · 2016-06-15
  • Re: Darcs · Martin Langhoff <hidden> · 2016-06-15
  • Re: Darcs · Jan Hudec <hidden> · 2016-06-15
  • Re: Darcs · Theodore Tso <tytso@mit.edu> · 2016-06-15
  • Re: Darcs · Junio C Hamano <hidden> · 2016-06-15
  • Re: Darcs · Linus Torvalds <torvalds@linux-foundation.org> · 2016-06-15
  • Re: Darcs · Josh Triplett <hidden> · 2016-06-15
  • Re: Darcs · Johannes Schindelin <hidden> · 2016-06-15
  • Re: Darcs · Bu Bacoo <hidden> · 2016-06-15

Re: Darcs

From: Jan Hudec <hidden>
Date: 2016-06-15 22:43:18

On Mon, Jun 25, 2007 at 08:45:57 +1200, Martin Langhoff wrote:
On 6/25/07, Linus Torvalds [off-list ref] wrote:
quoted
Ahh, a chance to flame! I will never back down from such a challenge!

Darcs is .. umm .. ehh..

"Academic".
OTOH, and from the POV of someone closely following the SCM tools in
the last few years (and using almost all of them), darcs was the first
usable DSCM in the camp. I am not sure how much of its commandline
user interface was borrowed from BK or elsewhere, but darcs was
_easy_, where Arch was extremely hard to use.
Arch is not in fact distributed. One key feature that makes things
distributed is that object (revision in SCM) identity is independent of their
location (repository in SCM). And in Arch that is not true.

Revisions independent of repositories (and branches) is what makes the ad-hoc
branching, that makes git (and hg, bazaar and darcs) so easy, possible. Arch
claimed to have easy branching, but it was still the old explicit model.

(Besides yes, I can confirm that Arch was not the easiest thing to use.)
The darcs commandset (init, push, pull) is what git, hg and bzr have
today in common. At least _I_ learned about how it could be easy by
watching people use Darcs (and feeling very ashamed of my baroque Arch
usage). The focus on patch tracking (as opposed to "snapshot"
tracking) and the whole patch algebra are two misfires I'd say.
Snapshot-tracking DSCMs are winning (faster and fundamentally more
reliable), and the patch algebra doesn't quite scale and (as far as
I've heard) sometimes ends in unsolvable corner cases.
IMHO the patch algebra also falls short of it's goal. The idea is supposed to
be that you can cherry-pick easily. However, in practice many changes that
are easy to cherry-pick are textually dependent in something like import
list, list of files in makefile or such. While git cherry-pick will happily
apply such patch and give you a single easy to resolve conflict, darcs will
just insist on pulling the other patch as well.

-- 
						 Jan 'Bulb' Hudec [off-list ref]

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help