Re: trouble on windows network share

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 04, 2013 at 03:01:36PM +0000, Pyeron, Jason J CTR (US) wrote:

> I am having trouble when the .git folder is on a network share, given the below where should I start on my debugging?
> [...]
> jason.pyeron@localhost //server/share/dir/subdir/test
> $ git add test.txt
> 
> jason.pyeron@localhost //server/share/dir/subdir/test
> $ git commit -m test
> error: unable to find 8b7323820a21ebd1360e27262b3c61283c266c23
> fatal: 8b7323820a21ebd1360e27262b3c61283c266c23 is not a valid object

Hmm. That message probably comes from:

  static int sha1_loose_object_info(const unsigned char *sha1, unsigned long *sizep)
  {
  [...]
          map = map_sha1_file(sha1, &mapsize);
          if (!map)
                  return error("unable to find %s", sha1_to_hex(sha1));

So we have found the object and know that it is loose, but then mmap-ing
it fails. My guess is that your system does not support mmap across
network shares (whether this is an OS issue or a cygwin limitation, I
don't know). You could confirm it by running your "git commit" under
strace, which I expect would show mmap returning -ENODEV or similar.

You can work around it by compiling git with NO_MMAP=1.

You might also try msysgit rather than cygwin, which seems to have its
own win32 mmap compatibility layer.

Finally, I suspect we could include our emulate-mmap-with-pread
compatibility wrapper all the time, and drop back to it automatically at
run-time when we see ENODEV or a similar error return from mmap.

-Peff
--
To unsubscribe from this list: 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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]