Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
409 views
in Technique[技术] by (71.8m points)

iphone - xcode remove repository from project

My xcode project has two repositories listed under the Source Control menu. One of them is a repository from an old project and should not be associated with the current project. However, I can not figure out how to remove it from the project.

NOTE: I have already removed this repository from Organizer.

Screenshot

Any help would be greatly appreciated.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I did this by manually editing the .xccheckout file.

Here are the steps that should work for you:

  1. quit Xcode, and make a backup of your project file.
  2. in the Finder, right-click on your project file and select "Show Package Contents"
  3. right-click on the project.xcworkspace file, and select "Show Package COntents"
  4. in the folder named xcshareddata, there is a file with the extension .xccheckout (it should have the same name as your main project file, but with the .xccheckout extension)
  5. make a backup of this file
  6. open the .xccheckout file in your favorite plain-text editor - this is a plist.
  7. find the IDESourceControlProjectWCConfigurations key, and look for the <dict> that has the name of the repository that you want to remove.
  8. in the same <dict> there is a key IDESourceControlWCCIdentifierKey whose value contains an identifier that looks like a UUID - this string identifies the repository.
  9. search the entire file for key/string pairs that have the ID as the key. delete all these pairs.
  10. delete the <dict>
  11. save the file
  12. re-open the project in Xcode, and make sure everything is good.

If it is still showing up, make sure that none of the files in your project are located in the directory of the old repository (via an absolute file reference). You can investigate this by opening up the main file project.pbxproj, which is inside your project file.

You can also test this out by temporarily renaming the root folder (in the Finder) of the old repository, and if the repository no longer shows up in the Source Control menu, then you have a file in your project that is located in that old repository.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

56.8k users

...