[darcs-users] getSymbolicLinkStatus: does not exist

Ben Franksen benjamin.franksen at bessy.de
Tue May 28 00:47:54 UTC 2013


Hi Darcs-Developers

I recently got a complaint from a guy who wanted to 'darcs get' from a repo 
I uploaded to our webserver and who got this mysterious 
"getSymbolicLinkStatus: does not exist" error. Now I got the same message 
myself:

ben at sarun[1]: ~/tmp > darcs get http://hub.darcs.net/stepcut/clckwrks
Problem while getting packed repository, getting it normally now.
Copying patches, to get lazy repository hit ctrl-C...              
Finished getting.                                                               
darcs: 
/home/ben/.darcs/cache/patches/0000235467-65344be6adb7e88690986e10f66998c33305a54e476b2eb72d978db021687128-
new_dcf54369bddd9cdaf0ddb2644ff29840: getSymbolicLinkStatus: does not exist 
(No such file or directory)

I am using a recent Darcs compiled from the screened repo:

ben at sarun[1]: ~/tmp > darcs --version
2.9.7 (+ 104 patches)

and BTW when I try the same command again I do /not/ get the message again. 
I am fairly certain the other person did not use a self-compiled version of 
darcs so I assume it's the same in the latest official release.

I guess what is going on here is that something inside ~/.darcs/cache is not 
as Darcs expects it and then goes on to "fix" it, in a hopefully benign 
manner.

If this is not a known problem, I can add an entry in the bug tracker. 
Assuming my guess above is right, a simple and effective solution is just to 
catch the exception and silently fix whatever is wrong in the cache.

Let me add a few remarks: even if the error message is "benign", i.e. 
repository integrity is not affected, things like that tend to leave a bad 
impression with certain (potential) users. This is from an email I got from 
the other guy when he saw this message:

> Ah well, the last time I played with darcs (years ago) I was not
> terribly impressed -- it lacks that fundamental property
> essential to all VCSs: absolute robustness.

He said that in spite of having correctly guessed that the get actually went 
through just fine in spite of the message. So it is clear that we are 
talking about human perception here.

Another reason he was put off was that Darcs even /tried/ to cache it's data 
into the home dir. I explained why this is important for efficiency and 
pointed out that commonly used programs such as firefox and many others do 
the same; but I would have been much happier to tell him "oh, no problem, 
you can turn this off by doing XYZ". The more so since I happen to know that 
there /are/ situations where your home space is limited (imagine file 
servers with strict quotas) or not suited for that kind of use (e.g. home is 
on a remote fs). Unfortunately, despite claims (or at least suggestions) in 
the manual that editing ~/.darcs/sources can be used to configure the paths 
that are used for caching, this did not work when I tried it: Darcs still 
tries to create ~/.darcs/cache and caches everything in there even if I have 
such a file and make it empty or make it contain another path. In the past I 
have jumped through considerable hoops to achieve the desired effect (e.g. 
sym-link ~/.darcs/cache to a non-existing file or something similar), but 
these tricks no longer works with newer Darcs versions and are ugly anyway.

So if I may repeat past pleas: can we please, please have a simple, working, 
and reliable method to configure what directories Darcs uses for caching 
patches, including the option of not doing it at all?

Cheers

PS, thanks for listening to my ramblings and stay aware that I am a devoted 
user who just /loves/ Darcs and is very grateful it exists (and keeps 
getting better, mostly) every day I use it. I defend Darcs and keep it up 
against the competition in my work place, but issues like the above (and 
even more so what I reported last time about Darcs crashing with a stack 
overflow when it encounters a 65MByte boring file that accidentally happens 
to be lying around somewhere inside the working tree) makes it an uphill 
struggle (not to speak of trying to gain new followers). IMO Darcs is just 
too good to let the project die, and if all users were just like me they 
would simply live with all the minor problems just because of that, but many 
others are /not/ like me, they want a robust implementation that Just Works, 
period. So when I see discussions on darcs-devel like the one about 
[issue2321] (which IMHO is a non-issue, but in contrast to the serious bug I 
reported /does/ get a discussion and a resolution to do something about it) 
I tend to dispair and want to shout "people, get your priorities right, 
before your user base shrinks down to the small circle of core developers 
and their friends and family!", but I don't because that probably wouldn't 
help at all... ;-)
-- 
Ben Franksen
()  ascii ribbon campaign - against html e-mail 
/\  www.asciiribbon.org   - against proprietary attachm€nts



More information about the darcs-users mailing list