Hi, Dominik, Von: Dominik Psenner [mailto:dpsen...@gmail.com] > >http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2939615 > >> > >> Do you think svn checkout should be defensive against recursive externals? > > > >At elego (where I work) we actually use this as a trick question during > >Subversion workshops. People who don't necessarily know about externals > >are asked to check out a working copy (which, unknown to them, contains > >recursive externals) and are asked to figure out if anything is going > >wrong and if so how to fix it. Once they've figured out and fixed the > >problem they understand what externals are :) > > > >That aside, I wouldn't mind if svn printed a warning or error message > >when it finds a recursive externals definition. But off-hand I don't > >what a good method for detecting recursion would be. > >It's somewhat complicated by the fact that externals are currently > >separate working copies and that the recursion might be rooted not only > >at the immediate parent WC but at some parent of the parent. > >Cross-working-copy operations aren't trivial to implement correctly. > > The problem may be levered by recursively comparing the repository UID and > the relative path in the uri when the external is resolved. Proofing that > this check would be enough is left to the reader. :-)
This will catch the "simple" case when an external includes its own parent directory. But it will not catch mutually recursive externals (svn://path/to/a/ includes svn://path/to/b/ and vice-versa), there might even exist cycles over 3 or more repositories... Best regards Markus Schaber -- ___________________________ We software Automation. 3S-Smart Software Solutions GmbH Markus Schaber | Developer Memminger Str. 151 | 87439 Kempten | Germany | Tel. +49-831-54031-0 | Fax +49-831-54031-50 Email: m.scha...@3s-software.com | Web: http://www.3s-software.com CoDeSys internet forum: http://forum.3s-software.com Download CoDeSys sample projects: http://www.3s-software.com/index.shtml?sample_projects Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915