I have recently installed Cygwin along with the Git binaries and a copy of TortoiseGit on a fresh Windows XP install. I seem to be able to do most Git operations through Tor
Have you tried to reboot your machine. I had some trouble with a Tortoise installation once, but that solved the problem.
I had the same problem (decided to use git installed under cygwin instead of the one from msysgit). Same thing: I was able to commit from the command line, and I was also able to see modification indicators and view logs in Tortoise, but I could not commit through the GUI.
What I had to do was to adjust the group settings of my project and the git executable. From one level above my project root, I ran the following command:
chgrp -R None my_project/
Then I did the following:
cd /bin
chgrp None git.exe
This changed the group of the git executable from what it was (root
) to None
.
Note that you may not want to use the None
group. Look at /etc/passwd and look at the fourth field of the line that starts with your user name (fields are colon-delimited and the first field is your user name)--that fourth field is your primary group ID. Then look at /etc/group and find the line that has the same group ID as the third field. That's the group name you want to use (in place of None
) in the commands above.
Let me know if that works for you.
This was known known issue, but its marked as fixed now. For background see https://tortoisegit.org/issue/56 and it's duplicate https://tortoisegit.org/issue/609.
TortoiseGit is optimized for Git for Windows.
However, starting with TortoiseGit 1.8.13.0 Cygwin git can also be used with TortoiseGit.
You have to configure it as follows on TortoiseGit settings: Open TortoiseGit settings dialog and open the General page.
1) Select the [CYGWIN-INSTALL-PATH]\bin-folder as git.exe folder.
2) Configure the HOME environment variable in Windows, so that Cygwin and TortoiseGit are using the same home directory and global git-config. Use the normal Windows notation here (e.g., "C:\Users\USERNAME"). By default, TortoiseGit uses the Windows home directory which is normally located under c:\Users and Cygwin uses its own home directories which are located under [CYGWIN-INSTALL-PATH]\home.
3) Configure AutoCrLf, this is necessary as TortoiseGit and Cygwin Git have different defaults. The default in Cygwin Git is true.
4) Go to TortoiseGit the section called “Advanced Settings” and set CygwinHack to true in order to activate cygwin workarounds.
5) Reboot.
Based on https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html
I tried those solutions, but they didn't work for me. What did work was to move all GIT related executables in the cygwin directory into a sub folder not in my path, then I installed the latest version of GIT from http://git-scm.com/, added the location of that installed GIT executable to my path, killed all instances of Windows Explorer & bash windows, launched a new instance of Windows Explorer, and then, I was able to commit via TortoiseGit. Currently (March 4, 2014) the cygwin version of GIT is 1.7.9, whereas the latest version from http://git-scm.com/ is 1.9.0. That seems to make a difference.
The "unable to create temporary sha1 filename" issue was solved for me by:
https://stackoverflow.com/a/685422/431606
I simply ran git repack
(from the command line) in my repository, and TortoiseGit was immediately able to commit.
(I still can't push through TortoiseGit, as I get the error message "fatal: The remote end hung up unexpectedly" as described in https://tortoisegit.org/issue/56)