On Fri, Jun 16, 2006 at 06:10:14PM -0400, Christopher Faylor wrote: >On Fri, Jun 16, 2006 at 04:24:30PM +0200, Juergen Ruehle wrote: >>Niklas Frykholm writes: >> > I'm trying to use cygwin git (compiled from the 1.4.0 tarball) to create >> > repository on a windows network share, but I get an error message. >> > >> > $ cd //computer/git/project >> > $ git init-db >> > defaulting to local storage area >> > Could not rename the lock file? >> >>cygwin's rename seems to be capable of overwriting an existing target >>only on NTFS. The following hack is a workaround, but is probably not >>safe. > >Actually, Cygwin's rename has a specific check to make sure that the >file is deleted. It tries very hard to do things the right way but if >your samba server doesn't return the correct error code then it is >possible that it could be confused. >diff --git a/lockfile.c b/lockfile.c >index 2346e0e..5e78211 100644 >--- a/lockfile.c >+++ b/lockfile.c >@@ -48,6 +48,7 @@ int commit_lock_file(struct lock_file *l > strcpy(result_file, lk->filename); > i = strlen(result_file) - 5; /* .lock */ > result_file[i] = 0; >+ unlink(result_file); > i = rename(lk->filename, result_file); > lk->filename[0] = 0; > return i; I also meant to ask if there was an i is nonzero after the call to the rename() above? If so, what was the errno? If not, it is a huge problem if rename is reporting that it is able to rename a file but is not actually doing it. cgf (cygwin maintainer) - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html