On 20/03/12 23:58, Philip Martin wrote:
Matthew J Fletcher<ami...@sky.com> writes:
I've been expermenting with SVN externals and found an issue which i
dont fully understand. My repository is as follows;
------------------
+Play (with and extern to URL "https://swserver:8443/svn/Play/Shared
Sources" Local Path "Project 3")
- Project 3 (externed)
-> shared.txt
- Project 2 (with an extern to URL
"https://swserver:8443/svn/Play/Shared Sources" Local Path "Outstation
Files")
-> -> Outstation Files (externed)
-> -> -> shared.txt
-> -> unieque.txt
-> Project 1 (with an extern to URL
"https://swserver:8443/svn/Play/Shared Sources" Local Path "osfiles")
-> -> osfiles (externed)
-> -> -> shared.txt
-> -> unieque.txt
- Shared Sources
-> shared.txt
I'm having difficulty making sense of that description.
svnadmin create repo
svn co file://`pwd`/repo wc
svn mkdir wc/Play
svn mkdir wc/Play/SharedSources
echo foo> wc/Play/SharedSources/shared.txt
svn add wc/Play/SharedSources/shared.txt
svn mkdir wc/Play/Project1
svn mkdir wc/Play/Project2
svn ps svn:externals '^/Play/SharedSources Outstation' wc/Play/Project1
svn ps svn:externals '^/Play/SharedSources osfiles' wc/Play/Project2
svn ps svn:externals '^/Play/SharedSources Project3' wc/Play
# or maybe one svn:externals on Play
# ^/Play/SharedSources Project3
# ^/Play/SharedSources Project2/Outstation
# ^/Play/SharedSources Project1/osfiles
svn ci -mm wc
svn up wc
echo mod>> wc/Play/SharedSources/shared.txt
svn ci -mm wc
svn up wc
I am not sure how that corresponds to what i created via TortoiseSVN, i
will use the commandline when i have access to the repository again and
post the results.
All the externs work as expected and changes to files in "Shared
Sources" are reflected across the 3 projects. However when doing an
update/checkout i get the following error " 'External failed Project
3' is allready locked via ."
I don't understand that either. How can the externs "work as expected"
if neither checkout nor update work?
I suspect that its because i am external'ing not into a seperate
folder, whereas in "Project 1" and "Project 2" the "Shared Sources" go
in there own folder. However the externals do work as expected.
Maybe completes with errors would be a better description, see log of
update command. Extern file is updated into all 3 externed places, but
the extern for "project 3" gives an error.
---------
Updating: C:\Users\mfletcher\Desktop\Play22
Updated: C:\Users\mfletcher\Desktop\Play22\Project 3\shared 1.txt
Updated: C:\Users\mfletcher\Desktop\Play22\Shared Sources\shared 1.txt
External: C:\Users\mfletcher\Desktop\Play22\Project 1\osfiles
Updating: C:\Users\mfletcher\Desktop\Play22\Project 1\osfiles
Updated: C:\Users\mfletcher\Desktop\Play22\Project 1\osfiles\shared 1.txt
Completed: C:\Users\mfletcher\Desktop\Play22\Project 1\osfiles - at
revision: 71
External: C:\Users\mfletcher\Desktop\Play22\Project 2\Outstation Files
Updating: C:\Users\mfletcher\Desktop\Play22\Project 2\Outstation Files
Updated: C:\Users\mfletcher\Desktop\Play22\Project 2\Outstation
Files\shared 1.txt
Completed: C:\Users\mfletcher\Desktop\Play22\Project 2\Outstation Files
- at revision: 71
External: C:\Users\mfletcher\Desktop\Play22\Project 3
External failed: C:\Users\mfletcher\Desktop\Play22\Project 3
Error: 'C:\Users\mfletcher\Desktop\Play22\Project 3' is already locked via
Error: 'C:\Users\mfletcher\Desktop\Play22'.
Completed: C:\Users\mfletcher\Desktop\Play22\Project 3 - at revision: 71
--------
Thanks for taking a look at this.
---
Matthew J Fletcher
amimjf(at)sky.com
www.amimjf.org
---