I have a couple of Subversion repositories that look like:
/Core
/trunk
/External
/LibraryA
- LibraryA.dll
- LibraryA.pdb
/LibraryB
- LibraryB.dll
- LibraryB.pdb
/Website
/trunk
/Website
...
/Bin
...
I would like to bring in the files contained in /Core/trunk/External/LibraryA and /Core/trunk/External/LibraryB into the folder /Website/trunk/Website/Bin using svn:externals using the following lines:
- /svn/Core/trunk/External/LibraryA@HEAD Bin
- /svn/Core/trunk/External/LibraryB@HEAD Bin
When I add the above lines to the svn:externals property of the /Website/trunk/Website folder, the files brought in from the latter line overwrite the files brought in from the former line, so I end up with:
/Website
/trunk
/Website
...
/Bin
- LibraryB.dll
- LibraryB.pdb
...
Can someone suggest the right way of doing it? I would like to end up with:
/Website
/trunk
/Website
...
/Bin
- LibraryA.dll
- LibraryA.pdb
- LibraryB.dll
- LibraryB.pdb
...
If I could convert the Website into an ASP.NET Web Application project, I could have dealt with it differently. As things stand, this project has to remain an ASP.NET Web Site project, so that's a constraint I am working with.
Update:
To achieve what I wanted to achieve, I have pulled in the two libraries into their own folders under a Libraries folder such that I end up with the following structure:
/Website
/trunk
/Website
...
/Bin
- LibraryA.dll *
- LibraryA.pdb *
- LibraryA.dll.refresh +
- LibraryB.dll *
- LibraryB.pdb *
- LibraryB.dll.refresh +
/Libraries
/LibraryA
- LibraryA.dll +
- LibraryA.pdb +
/LibraryB
- LibraryB.dll +
- LibraryB.pdb +
...
I have then added the two libraries to the website as references, which pulls in all of the libraries as needed. When one adds libraries as references to a ASP.NET Web Site project, the system creates .refresh files (as shown above). Only those .refresh files should be checked in from the /Bin folder. All other files and folders should be added to the Subversion ignore list via svn:ignore.
To be clear: the files in the above listing marked with an asterisk should be added to svn:ignore, whereas the files marked with a + should be added to Subversion.