
troy d. straszheim wrote:
My workspace (CVS HEAD) contains some svn:externals that look like this:
iostreams https://svn.boost.org/svn/projects/iostreams/trunk variant https://svn.boost.org/svn/projects/variant/trunk date_time https://svn.boost.org/svn/projects/date_time/trunk (etc)
which means the code layout looks like that above. When I svn update, each of those subdirectories are updated recursively. I can make one commit across multiple projects.
We use 1 svn:external per project that points to an shared directory in my companies repository. I find it a constant source of trouble. People forget that they must branch the external separately and make erroneous checkins. When they branch the external it generally is branched with a different name than the other branch as it must account for the name of the projec that is branching it. Our server address is different for remote access and on site access. The external must be updated locally to point to the external address and if it gets checked in accidently it breaks things. It may just be my client (TortoiseSVN) but if I show log on the folder with the external its contents are considered changes to an unrelated path and hidden when that option is enabled. Perhaps others have had better experiences. When I read the svn book and found out about externals I reorginized are whole companies repository to make heavy use of them. Soon we realized the maintenence headache they bring and we changed it again. Now if I could just get rid of that last svn external my life would be much easier. As an aside if it doesn't exist yet an empty directory should be added in a readily accessible location that can be svn switched into. It helps useable a lot at our company. Thanks, Michael Marcin