Problem with Externals: using specific revision (-rREV) if file/folder is renamed or moved [BUG?]
From: omega32 <omega32_at_gmail.com>
Date: Mon, 31 Aug 2009 22:18:55 -0700 (PDT)
This is the situation:
I have an external folder defined in the trunk of a repository named "ProjectX" from a DIFFERENT Repository ("common") as follows:
-r7 "^/../common/trunk/lib" "lib"
As you can see, it's pointing to a specific revision (7). This works perfect. I've use this external in several repositories with no problem. As needed, I update the projects to use the latest version of this common library (external). Because the revision of the external is specified explicitly, I can checkout and compile old revisions of the projects that use old versions of the library without any issues. So far so good.
Now, I move the folder "lib" as follows:
trunk/lib --> trunk/source/lib
Just to be clear: I move this on the repository that contains the folder to import, that's the repository named "common". Not in the repository that declares the svn:externals property.
I then commit the changes creating, so a new revision (8). Now the problem! If I try to checkout or update any project that uses a revision prior to 8 (therefore prior to moving the folder) an error is shown saying that the folder can't be found:
External failed: D:\Repositories\ProjectX\trunk\lib
It seems that TortoiseSVN is checking to see if the external exists in the HEAD revision rather than the one defined in the svn:externals property.
Just as a test a move the folder back to where it was before:
trunk/source/lib --> trunk/lib
Then try again to checkout or update an old revision... It works again! TortoiseSVN checks the HEAD revision (9) and founds the folder, then proceeds to checkout/update the correct revision (7) (the one specified svn:externals property).
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
This is an archived mail posted to the TortoiseSVN Users mailing list.