Re: How to create a link that works between OS X and Ubuntu

2011-04-25 Thread richard Cavell
The link count for autobot and a1 will be 2; each name references the same file 
on disk. The symbolic link, however, is a pointer to a name. You can replace 
the file autobot without affecting a2, but if you replace autobot (rm autobot; 
make autobot) you will find that the connection between autobot and a is broken.
 Aha. Gotcha. Yes, I want a symbolic link then, since my program will be 
rebuilt over and over.

 Richard


Re: How to create a link that works between OS X and Ubuntu

2011-04-25 Thread Ryan Schmidt
On Apr 25, 2011, at 22:27, David Chapman wrote:
> On 4/25/2011 7:38 PM, richard Cavell wrote:
>> Further experimentation shows that symbolic links work (ln -s autobot a for 
>> the first command).  Are hard links supposed to work?
> 
> The hard link simply creates a new name for the file, which is probably 
> operating system dependent (you didn't describe the build process completely).

Yes he did:

>>> From: richard Cavell
>>> Sent: 04/26/11 10:36 AM
>>> To: users@subversion.apache.org
>>> Subject: How to create a link that works between OS X and Ubuntu
>>> 
>>> Hi everyone.  I'm developing a program on Ubuntu 10.10.  The directory in 
>>> which my project lives is part of my PATH.  The executable that is built is 
>>> called 'autobot'.
>>> 
>>> I type:
>>> 
>>> ln autobot a



> Subversion won't know the difference between the name "autobot" and the name 
> "a"; each will look like an ordinary file.  A symbolic link, however, is a 
> different object type and Subversion can store it as such.

That's correct, and that was the problem. I was reading Richard's message 
trying to figure out why it wasn't working, and it's exactly that Subversion 
doesn't (can't) realize a hardlink is a link. Use symlinks if you want to store 
them in the repository as links.





Re: How to create a link that works between OS X and Ubuntu

2011-04-25 Thread David Chapman

(moving top posting to bottom)




- Original Message -

From: richard Cavell

Sent: 04/26/11 10:36 AM

To: users@subversion.apache.org

Subject: How to create a link that works between OS X and Ubuntu


Hi everyone.  I'm developing a program on Ubuntu 10.10.  The 
directory in which my project lives is part of my PATH.  The 
executable that is built is called 'autobot'.


I type:

ln autobot a
a

(And my program runs correctly).

svn add a
svn propset svn:executable ON a
svn ci -m "Create shortcut"

Now on my OS X box, with the current directory set to the project 
directory, and with that directory also being a part of PATH 
(although it is not named identically to the Ubuntu one), I type:


svn up
a

And I get:

-bash: /source/Autobot/autobotwiki/a: cannot execute binary file

ls -l a gives me:

-rwxrwxrwx  1 richard  admin  55295 26 Apr 10:33 a

The same thing happens if I create the link on OS X and try to run it 
under Ubuntu.  So how do I do this?


Richard




On 4/25/2011 7:38 PM, richard Cavell wrote:
Further experimentation shows that symbolic links work (ln -s autobot 
a for the first command).  Are hard links supposed to work?


Richard



The hard link simply creates a new name for the file, which is probably 
operating system dependent (you didn't describe the build process 
completely).  Subversion won't know the difference between the name 
"autobot" and the name "a"; each will look like an ordinary file.  A 
symbolic link, however, is a different object type and Subversion can 
store it as such.


Try this:

ln autobot a1
ln -s autobot a2
ls -l

The link count for autobot and a1 will be 2; each name references the 
same file on disk.  The symbolic link, however, is a pointer to a name.  
You can replace the file autobot without affecting a2, but if you 
replace autobot (rm autobot; make autobot) you will find that the 
connection between autobot and a is broken.


--
David Chapman dcchap...@acm.org
Chapman Consulting -- San Jose, CA



Re: How to create a link that works between OS X and Ubuntu

2011-04-25 Thread richard Cavell
Further experimentation shows that symbolic links work (ln -s autobot a for the 
first command). Are hard links supposed to work?

 Richard

- Original Message -
From: richard Cavell
Sent: 04/26/11 10:36 AM
To: users@subversion.apache.org
Subject: How to create a link that works between OS X and Ubuntu

Hi everyone. I'm developing a program on Ubuntu 10.10. The directory in which 
my project lives is part of my PATH. The executable that is built is called 
'autobot'.

 I type:

 ln autobot a
 a

 (And my program runs correctly).

 svn add a
 svn propset svn:executable ON a
 svn ci -m "Create shortcut"

 Now on my OS X box, with the current directory set to the project directory, 
and with that directory also being a part of PATH (although it is not named 
identically to the Ubuntu one), I type:

 svn up
 a

 And I get:

 -bash: /source/Autobot/autobotwiki/a: cannot execute binary file

 ls -l a gives me:

 -rwxrwxrwx 1 richard admin 55295 26 Apr 10:33 a

 The same thing happens if I create the link on OS X and try to run it under 
Ubuntu. So how do I do this?

 Richard