On Jan 8, 2008, at 6:31 PM, Dmitry Markman wrote: here is my layout
Gateways Projects Photo {project}
models Photo
{sources} so project exists in the Gateways/Projects/Photo and all sources exist in the Gateways/models/Photo
Unfortunately, this is exactly the sort of setup that the new SCM functionality in Xcode 3.0 doesn't handle very well.
In Xcode 2.*, Xcode's SCM system would go through all the files in your project, figure out their location, and figure out if those locations were under some sort of SCM system that it could detect.
As you can imagine, this could take a lot of time and resources.
For Xcode 3.0, we switched to a system based on the new Xcode project root. You specify one SCM system and location for your project, and that is used to evaluate every file under your project root.
but when I tried to set root I wasn't able to do so, because Gateways/models/Photo was grayed out
The project root must include the project file. That's why you can't choose a folder in another portion of the file system hierarchy. so I was able to set root as Gateways and after that I can see in the root field
Root: <Project File Directory>/../../..
but scm doesn't work properly in that configuration
The single, common root should work, with two caveats:
(1) Specifying a root higher up in the hierarchy can cause a lot more files to be evaluated for SCM than you need; if that's the issue you're facing, then it's a known one. (2) If your top-level "Gateways" directory isn't itself under SCM, i.e. if the entire file layout from Gateways on down doesn't mirror what's on the server, then that also won't work, and is a known issue.
If you're seeing something other than those two issues for a single common root that encompasses all the files in your project, please provide more details about how it doesn't work.
We are looking into ways to improve this functionality in future versions of Xcode for setups like yours.
-- Andrew
it started to work if I put my project into the
Gateways/models/Photo
but it's not good for us for many reasons
On Jan 8, 2008, at 11:36 AM, Chris Espinosa wrote:
On Jan 8, 2008, at 3:01 AM, Niels Bogaards wrote:
I recently moved a project to subversion and want to use XCode 3 as the subversion client. However, not much luck so far. Using the commandline tools to create the repository, add the files etc. was pretty straightforward, but I can't get XCode to recognize modified files, or display any SCM info, except for the .xcodeproj files. As mentioned before on this list, it is quite unfortunate that the documentation for XCode's SCM is still at version 2, while XCode 3 has changed many things in this area. Since all my guesses and tests failed so far (checking out anew, re-adding files to the repository, checking out using the repository browser, Refreshing the project, Updating the project, touching the files once more, etc.), I hope this list can help me out.
The main problem is this:
- I have a fully functioning subversion project, created with all the latest versions. I started this svn on Leopard, but the server is a trac server using plain http. On the command line, everything works very well, my modified files show up as modified, the .svn folders are there
- in XCode I set up a repository for the trac server. Authentication works. When I modify some files and go to SCM Results, I see only the project file with modified status. Other (source) files have no SCM info at all, (State: No Value, Local, Tag and Latest are void). The contextual menu has an Add To Repository item in it, which I can select, but which appears to do nothing.
Where are your sources in relation to your project file? If they are not contained in the folder that contains the project file, you need to:
1) Project > Edit Project Settings
2) General pane
3) Project Root setting, click Change...
4) Select the folder that contains all your project sources (but no sources for other repositories)
Chris
Dmitry Markman
|