detach all working copies and reset all version history in Xcode 6.3
I have been working on an Xcode project (that is installed via adhoc installation, for internal use at my company) for a few years now and I had enabled source control since day 1.
All was working perfectly until when iOS 8 was released, i decided to convert it into iOS 8 while leaving a backup on the project as it is.
So, I renamed the original folder to bimpd_old and started modifying the new project. I am a beginner in git, and I didn’t know that doing this might corrupt source control.
After doing so (and while still working on both projects) my source control won’t commit anymore complaing that the project is not under version control.
I tried many solutions on the internet that suggest deleting .svn/.git folders, disabling and reenabling source control, run git init, add *, commit.. I also tried deleting the bimPd.xccheckout
EDIT: I already tried the solution from: How to disassociate working copy of an Xcode 5 project from SVN server that died with no success. Probably that solution works only for Xcode5 while my issue is in Xcode 6.3
I just want to lose all version history, detach/delete all working copies, and start new version control starting today.
How can I achieve that?
- At first, Xcode gave me a warning that svn needs to be updated.. I did it but still it wouldn’t commit
- I don’t need online git (just local)
- I stopped working on the old project.. and I don’t need it anymore.
- After all my tests and trials, it currently shows 3 working copies in my source control (when I enable it) and I only want one working copy (screenshot below)
- At earlier stages, when I was trying to commit, xcode was giving me a warning that it’s unable to commit to www.mydomain.com/bimpd (a custom svn that a friend had made on his site a long time ago) but i can’t find this reference anywhere.. (because i have deleted all repositories)
- Now when I try to commit, i get the following error: the working copy “bimpd.xcodeproject” failed to commit files (screenshot below)
5 Solutions collect form web for “detach all working copies and reset all version history in Xcode 6.3”
Check out this answer
Just navigate to “Your Project”.xcodeproj > (Right Click & Show
Package Contents) > project.xcworkspace > (Right Click & Show Package
Contents) > xcSharedData > “Your Project”.xccheckout
Right Click on the file and select Open with, and click on “More..”.
Use your preferred Text Editor to edit the XML inside, or you can
always use the trusty TextEdit.
Your old git/svn servers are probably at the bottom, encased in
. Just remove em and reload your project in Xcode.
I believe @david72 has the correct answer. (I didn’t find @dandoonian “order of steps is crucial” to be the case for me.)
My problem was my project was using an .xcworkspace. So for me, the path to find the file was:
projectname.xcworkspace(show package contents) -> xcshareddata ->
I edited that file (took out the “working copies” I didn’t need any more), re-saved, and restarted xCode. Voila.
Just to summarize what solved the problem using @david72’s help (in one of the comments)
P.s. The order of steps is crucial!
- Disable source control from xcode
- Delete git/svn folders
- Clean up xccheckout file
- Go to xcode projects and delete the project from there
- Reinitialize git: git init, add ., commit
- Re-enable source control from Xcode
- Re-open project
Remove all unrequited repo from following location
DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey
You can remove all unrequited working copy using following linked steps. Multiple Working Copy
Many of these solutions mention deleting the
.git folder – it should be noted that this action will delete any stashes and local branches you may have in reserve.
I learned this the hard way… and this issue with the extra root-repo showing wasn’t even resolved for me!
(Apologies, I currently do not have the 50 reputation to simply comment on an answer!)