(moving top posting to bottom)
>> ----- Original Message -----
>> From: richard Cavell
>> Sent: 04/26/11 10:36 AM
>> To: users_at_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
>> (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
>> 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?
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). 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.
ln autobot a1
ln -s autobot a2
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 dcchapman_at_acm.org
Chapman Consulting -- San Jose, CA
Received on 2011-04-26 05:27:41 CEST