简体   繁体   中英

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.

截屏

Any help would be greatly appreciated.

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.

  1. Close XCode .
  2. Open Terminal .
  3. Navigate to the root directory of the project.
  4. Type find ./ -name .svn -exec rm -rf {} \\; .
  5. Open your project .

Your project should be disconnected from all repositories. Now you may connect your project to the desired repository through Source Control -> Configure Project .

NOTE : The command searches for all filenames with extension .svn and removes (recursively and forcefully) all of them.

For those who their extra repositories are their old local modules (like local SPMs).

Assuming you already removed the original local package from the source file

  • Quit Xcode
  • Remove the derived data
  • Reopen the project

You can find the derived data location from the Xcode's preferences:

喜好

You will have to manually remove the svn files from the old directory. This will be done using svn commands. You can find the commands below. How do you remove Subversion control for a folder?

Actually, if you start Xcode without loading anything and then check out a fresh copy of your project into a new workspace folder, the irrelevant repository info gets automatically removed in your local copy of the project.

I also recommend that you navigate to Xcode -> Source Control -> %Repository% -> Configure %ProjectName% and select the working branch in the branches panel - just to make sure the trunk|tags|branches folder locations are correctly initialised. (You'll see the repository menu item in the Source Control menu update after you hit done, and the sub menu will expand to give you more options).

It's then a simple matter of committing those changes Xcode has made back to the same repository. The diff tool should indicate the lines of XML from that .xccheckout file that have changed and not much else.

The way I solve this is

  • close the Xcode app
  • in finder go to the folder of the app and enter in it
  • in this place, you got to touch COMMAND + SHIFT + DOT keys this action will show all the files and folders hidden
  • now you see a folder called GIT? just select it and DELETE it!

That's the way to remove any GIT relation.

  • Now you can go to your terminal and inside your app folder type
  • git init

this will make a new GIT initialization of your stuff

I have experience with the dialog after going Source Control -> Checkout, what I did is simply remove/edit my account.

Xcode -> Preference -> Accounts -> (do your edit or remove)

I am not 100% sure that also fix yours, but worth a try. By the way, I am using Xcode 6 beta.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM