darcs

Issue 1078 darcs gets confused if the repodir has a symlink in it (2.0.3pre1)

Title darcs gets confused if the repodir has a symlink in it (2.0.3pre1)
Priority bug Status resolved
Milestone 2.1.x Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, kowey, thorkilnaur
Assigned To
Topics

Created on 2008-09-18.04:53:40 by kowey, last changed 2010-06-15.21:48:27 by admin.

Messages
msg6040 (view) Author: kowey Date: 2008-09-18.04:53:36
On MacOS X, the /tmp directory is actually a link to /private/tmp.  

If you untar the darcs 2.0.3pre1 tarball into /tmp and run make test in it, the
mv-formerly-pl.sh test fails when it tries to darcs mv `pwd`/abs_path.t
abs_path_new.t

Darcs refuses to do this because it does not recognise `pwd`/abs_path.t as a
repo path (because the repo path starts with /private/tmp).  The problem is that
darcs fails to recognise that when you are asking for /tmp/foo, you are really
asking for /private/tmp/foo.  I think this should be a simple matter of making
the path-fixing a tiny bit fancier.
msg6065 (view) Author: simon Date: 2008-09-20.10:39:44
I reproduced this on a mac:

 /tmp/darcs-2.0.3pre1/temp$ darcs mv `pwd`/abs_path.t abs_path_new.t
 Ignoring non-repository paths: /tmp/darcs-2.0.3pre1/temp/abs_path.t
 darcs: Cannot rename a file or directory onto itself!

Hints from a fruitless debugging session, take with a grain of salt:
The "non-repository paths" warning comes from fixSubPaths, because two paths in
the FixFilePath flag look like /private/tmp/... These come from
getCurrentDirectory in consider_running.
msg6066 (view) Author: simon Date: 2008-09-20.10:43:35
Easy way to test:

~/src/darcs/tests$ shell_harness mv-formerly-pl.sh 
Running mv-formerly-pl.sh ...                    passed.
All tests successful!
~/src/darcs/tests$ cd /tmp
/tmp$ ln -s ~/src/darcs
/tmp$ cd darcs/tests
/tmp/darcs/tests$ shell_harness mv-formerly-pl.sh 
Running mv-formerly-pl.sh ...                    FAILED!
msg6073 (view) Author: dmitry.kurochkin Date: 2008-09-21.09:53:55
On linux it works fine. Looks like symlinks and pwd behave differently on mac os.

Regards,
  Dmitry
msg6086 (view) Author: thorkilnaur Date: 2008-09-22.22:19:06
Is this related to http://bugs.darcs.net/issue1057? But in any case: I need a volunteer to produce a test 
case for this. I appears from the messages attached that a Mac OS X system is needed for this, but without 
understanding, who can tell? The test itself could go along these lines: (1) mkdir absdir; (2) ln -s absdir 
symdir; (3) do things with a darcs repository in symdir that fails.

Best regards
Thorkil
msg6098 (view) Author: simon Date: 2008-09-23.16:13:17
I think we have that test case already ? The last part of mv-formerly-pl.sh.
Perhaps you want to break that out as a separate test and make it aware of the
platform it's on for clarity. I think what's needed most is some debugging,
maybe two of us with macs on #darcs can succeed. Contact me there if you want to
work on it.
msg6099 (view) Author: kowey Date: 2008-09-23.16:29:18
On Tue, Sep 23, 2008 at 16:13:19 -0000, Simon Michael wrote:
> I think we have that test case already ? The last part of mv-formerly-pl.sh.
> Perhaps you want to break that out as a separate test and make it aware of the
> platform it's on for clarity. I think what's needed most is some debugging,
> maybe two of us with macs on #darcs can succeed. Contact me there if you want to
> work on it.

I have just sent a test case to the list today.

(ahah! perhaps further evidence that we need a patch tracker... one
 which integrates with the bugtracker)
msg6163 (view) Author: dmitry.kurochkin Date: 2008-09-28.21:35:57
Resolved by:

Thu Sep 25 21:57:26 MSD 2008  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
  * Resolve issue1078: make ioAbsolute work with symbolic links in file paths.
History
Date User Action Args
2008-09-18 04:53:40koweycreate
2008-09-20 10:39:46simonsetstatus: unread -> unknown
nosy: + simon
messages: + msg6065
2008-09-20 10:43:37simonsetnosy: droundy, kowey, dagit, simon
messages: + msg6066
2008-09-21 09:53:57dmitry.kurochkinsetnosy: + dmitry.kurochkin
messages: + msg6073
2008-09-22 22:19:08thorkilnaursetnosy: + thorkilnaur
messages: + msg6086
2008-09-23 16:13:19simonsetnosy: droundy, kowey, dagit, simon, thorkilnaur, dmitry.kurochkin
messages: + msg6098
2008-09-23 16:29:20koweysetnosy: droundy, kowey, dagit, simon, thorkilnaur, dmitry.kurochkin
messages: + msg6099
2008-09-28 21:35:58dmitry.kurochkinsetstatus: unknown -> resolved-in-unstable
nosy: droundy, kowey, dagit, simon, thorkilnaur, dmitry.kurochkin
messages: + msg6163
2009-04-22 03:35:42twbsetstatus: resolved-in-unstable -> resolved
nosy: droundy, kowey, dagit, simon, thorkilnaur, dmitry.kurochkin
2009-08-06 18:00:18adminsetnosy: + markstos, jast, Serware, darcs-devel, zooko, mornfall, tommy, beschmi, - droundy
2009-08-06 21:12:35adminsetnosy: - beschmi
2009-08-10 21:48:33adminsetnosy: - tommy, markstos, darcs-devel, zooko, jast, Serware, mornfall
2009-08-10 23:45:39adminsetnosy: - dagit
2009-08-25 17:24:53adminsetnosy: + darcs-devel, - simon
2009-08-27 14:19:20adminsetnosy: kowey, darcs-devel, thorkilnaur, dmitry.kurochkin
2010-06-15 21:48:27adminsetmilestone: 2.1.x
2010-06-15 21:48:27adminsettopic: - Target-2.1