On Nov 3, 2007, at 10:32 AM, Chris Espinosa wrote: On Nov 3, 2007, at 10:13 AM, Dave Camp wrote: I have noted this same problem with pre-existing subversion sandboxes (svn+ssh in my case). I think the problem is that Xcode only seems to work with sandboxes checked out via the Repositories window, which is incorrect.
The SCM mechanisms are designed to be interoperable with the command-line or library-based access mechanisms for Subversion, Perforce, and CVS. If there are problems please file Radar reports with diagnostic information, or post the SCM logs here and we'll try to figure out what's going on.
You don't need to check out the project from the repository in order for SCM to work, but Xcode does now require that the repository of the project be configured (correctly) in the Repositories prefs pane in order for project SCM to work. But you should be able to do that with a project already checked out, we do it all the time here.
I'd be happy to post a log if I could figure out how. Help->Search->"SCM Log" yields nothing. I cannot find anything in the UI that looks like a useful log for this problem. The Repositories has some log stuff in it. but that window works fine and I don't see any new log lines added when I fiddle with the Project Info window.
I'll try to describe my setup here as much as possible. It's not terribly special.
My sandbox is at: ~/dev/svn/my_proj. I've been using the built-in command line svn tool in Leopard to checkout and commit changes without issue.
The URL currently in the repository in XCode 3 is: svn+ssh: //email@hidden/svn/my_proj. Xcode parses this correctly and fills out all the fields. The /svn directory on the server actually has a number of completely distinct repositories, each created with svnadmin create.
SCM->Repositories works correctly. I can click on the repository in the source list and browse and checkout new copies without issue.
When I open my application project at: ~/dev/svn/my_proj/trunk/my_app and Get Info on the top level item in the File list I see:
Path: /Users/dave/dev/svn/my_proj/trunk/my_app Root: <Project File Directory>/../.. SCM Repository: None
When I click on SCM Repository popup I can see the repository I defined in the Repository window, but it is grayed out.
I've tried selecting different roots up and down the tree but the menu item in the SCM Repository popup is always grayed out.
If there is a log somewhere that would yield more details on why that menu item is grayed out, please tell me where it is and I'll post the contents.
There is something I have noticed that might be related. The root of the repository on the server has three folders: prototypes, tags, and trunk (very similar to the suggested layout in the subversion docs). As such, the local file layout on my machine matches that: my_proj prototypes
tags
trunk
my_app
I have noticed that the Repositories window will not let me perform a checkout that creates a local my_proj directory with those folders. The leftmost column in the column view shows prototypes, tags and trunk, but I can only select one. If I checkout "trunk" I get a trunk directory not a my_proj/trunk directory. If I select all three directories the toolbar buttons dim.
Could the problem be that Xcode has a limitation with regards to the root contents of the repository? That would be a huge bug as it would be incapable of making a local copy of the repository that matches the server. It would also break the suggested use model in the subversion docs of having root folders for tags and trunk.
Thanks, Dave
|