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
---

Reply via email to