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