Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't commit changes to local git repository

Tags:

git

xcode

I have created a new project and checked the "create a local git repository" option. I opened the organizer to check that there is a repository for my project and it was there. I made some changes on some files, and noticed the source control specific letters "A" .. "M" beside them, but when I choose: File-> Source Control -> Commit, I get the following message from XCode 4.2:

the operation could not be performed because no valid working copies were found

Please verify that your files are under source control and try again

However, I opened the organizer again, and noticed that the repository of my project includes three icons on the left bar: Branches, Remotes and a folder with the same name as of the project. I chose the last one (the folder) and pressed the Commit button on the bottom bar of the organizer. The commit sheet opened and I performed the commit successfully. Now, when I close the organizer, and edit some files in my project, I do not see the source control specific letters "M" ... "A" ... beside each modified file.

My problem is about two points:

1) Why can't I commit from File->Source Control->Commit menu option

2) When I commit from the repository itself, and go back to the project and edit some files, why do not I see source control letters beside modified files?]

like image 740
JAHelia Avatar asked Nov 16 '11 08:11

JAHelia


2 Answers

For what it's worth (and as @Jahelia's comment mentions), this seems to be a bug in XCode 4.2 when it first engages with git. The workaround seems to be to at least close Xcode and reopen. (If that doesn't work, try opening and closing the organizer.)

I encountered this myself today when trying out Git with Xcode for the first time. I created two demo projects with the "create a local git repository" option and they had the same problem. I was able to commit from the organizer window, but the main Xcode file view didn't seem to recognize git at all.

After quitting and restarting, I created a third demo with the git option, and the main window recognized the changes (after building) right off the bat - i.e showed the "M" beside a modified file.

like image 87
brainjam Avatar answered Oct 20 '22 19:10

brainjam


I've experienced and recovered from this.

I can't tell you what causes it but, notably, in the "Repositories" view in my Organiser, I had TWO similarly-named repositories. What differed about them was the case of one of the paths.

One was "~/Work/Code/Bumhole" and the other "~/work/Code/Bumhole".

I caused the problem by XCode crashing during a commit to the repository (of many changes).

I fixed the problem by

  • closing the offending project
  • closing Xcode
  • rebooting
  • reopening Xcode
  • (close the project if its open)
  • open the Organiser view
  • Select the "bad" repository and delete it with backspace
  • Navigate the remaining "good" repository until you see the .xcodeproj file
  • Double click the .xcodeproj file to open the project

I expect this list is a superset of the steps needed to fix the problem, but this worked for me.

like image 1
user19666 Avatar answered Oct 20 '22 18:10

user19666