Hello Darcs gurus,

together with a friend of mine (CC-ed) I am experimenting with distributed SCM systems. His personal favorite is bzr (bazaar-ng), while mine is darcs. The biggest problem with Darcs, besides a large number of idiosyncrasies (*) relative to other SCMs, is that his repositories get broken without apparent reason.

Setup:

- we have SSH access to a server, and on that server we are both in group "lilypond".

- There is a repository on /home/hanwen/repo/gub (in my home directory). The repository is group read/writable

- We both run darcs push/darcs pull over SSH.

- None of the repositories have been checkpointed or partialed (at least not to our knowledge) or whatever. Just pushes and pulls.

Symptoms

For no apparent reason, darcs starts complaining that 'this' repository is partial (Couldn't the offending repository be listed with its location?). When copying the remote repository to a local file system, everything works. I have also been unable to reproduce this problem on my home network. This happened twice in two days, but we haven't worked out a reproduction scenario. (Perhaps it's worthwhile to have a logging flag, so all changes to a repo are journaled?)


Versions:

Version: I run 1.0.4-fc4 from Fedora extras, the server is running 1.0.4 static from codecarpet. Jan created his local (faulty?) repo with 1.0.3, and still is unable to push or pull his repo with 1.0.5rc1


Screenshot:
//////
 $ darcs push lilypond.org:/home/hanwen/repo/gub
Pushing to lilypond.org:/home/hanwen/repo/gub...
darcs: failed to read patch in get_extra:
Sat Nov 26 02:11:16 CET 2005  [EMAIL PROTECTED]
  * add sf.net
Perhaps this is a 'partial' repository?
[1]10:42:51 [EMAIL PROTECTED]:~/bzr/gub2
$ darcs pull lilypond.org:/home/hanwen/repo/gub
Invalid repository:  lilypond.org:/home/hanwen/repo/gub

darcs failed: (scp) failed to fetch: lilypond.org:/home/hanwen/repo/gub/_darcs/inventory
[2]10:42:54 [EMAIL PROTECTED]:~/bzr/gub2
$ darcs pull lilypond.org:/home/hanwen/repo/gub
Pulling from "lilypond.org:/home/hanwen/repo/gub"...
LilyPond.org Grand Unified Builder repository
**********************
darcs: failed to read patch in get_extra:
Sat Nov 26 02:29:06 CET 2005  [EMAIL PROTECTED]
  * fix url
Perhaps this is a 'partial' repository?
/////

Questions

* How can we diagnose the problem?

* What is happening here?

(* How could we have found out this for ourselves? )


(*) idiosyncrasies

The idiosyncrasies mainly seem to be in naming, eg.

* "record" iso. "commit"

* "boring" iso. ".darcsignore"

and in defaults that are unsuitable for seasoned users (eg. the need to supply -a for pushing/recording everything.) This is something that needs attention if the darcs community wants to win over more users of other advanced SCMs; I for one am not attached to copying CVS conventions.

Furthermore, it's a shame that darcs needs a remote binary of darcs. Couldn't this easily be circumvented by rsyncing the remote repository (using the local repo as seed to reduce network usage), applying the result, and rsyncing the result back to a temporary directory (using the remote repo as seed, again to minimize traffic), and renaming the the temporary directory?

I'm not sure what should happen with locking when the network connection is broken halfway; how does bzr deal with this?

--
 Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen


_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel

Reply via email to