views:

144

answers:

3

When i am usig git over samba share on windows i get an error when i want to commit a file via git_extentions or tortoiseGIT. The error is: error: unable to write sha1 filename .git/objects/b4/e819f886bf31b67c42249a0eff8e8b16cf7622: Permission denied When i add the file via the ubuntu server and commit the file it works fine. I am also working in a banrch.

I already tryed to chmod 777 the whole .git folder.

A: 

Probably samba blocks dotfiles? Why not use ssh instead of samba for pushing?

Tass
The dot files are not blocked and seen as hidden files in windows.How do you meen push by ssh? To commit the files via commandline is working fine.
InfoTracer
A: 

I've seen this, too. It's a git defect, likely to do with how it creates and modifies files. To clarify the problem:

# mount a samba share locally. 
$ mount -t cifs options //share/project  /mnt/project

# The share contains a git checkout.
# Do some typical development.
$ cd /mnt/project
$ vi file    ## ok
$ git pull   ## ok
$ git status ## ok
$ git add file ## error!
  error: unable to create temporary sha1 filename 
  .git/objects/8b/tmp_obj_mYE1Xi: Permission denied


## But everything from the shell seems to work.
$ ls -latr .git/objects/8b/  ## ok. empty dir.
$ touch .git/objects/8b/tmp_obj_mYE1Xi ## ok.
$ echo test123> .git/objects/8b/tmp_obj_mYE1Xi ## ok.
$ cat  .git/objects/8b/tmp_obj_mYE1Xi  ## ok.
test123
$ rm  .git/objects/8b/tmp_obj_mYE1Xi  ## ok.

In git version 1.5.6.5 (latest Debian package), you get the error when you try to git-add. If you install git 1.7.3.2 (latest release), you can add the file, but you will get the error when you attempt to commit.

john