On Tue, Apr 28, 2015 at 2:23 AM Johannes Schindelin <johannes.schindelin@xxxxxx> wrote: > > Hi Peff, > > On 2015-04-28 08:02, Jeff King wrote: > > > My understanding is that PATH_MAX is set absurdly low on Windows > > systems (and doesn't actually represent the real limit of a path!). > > Well, yes and no. Yes, it is absurdly low on Windows, and yes, it is not the real limit of a path *if you know how to work around it*. Most Win32 API calls actually do have that absurdly low limit, but internally longer paths can be represented (and there is a hack where you prefix the path -- which must be an absolute one for this hack -- by `\\?\`). Keep in mind, though, that even the Windows Explorer is (at least sometimes) limited by the absurdly low path limit. > One more thing worth noting is that path lengths are actually restricted further within git_path_submodule(), I would presume to reserve some amount of space when cloning a submodule (it seems to set aside 100 characters)? For other cases, yes, Dscho is absolutely right: the MAX_PATH constant is 260 (which gives something like 256 usable characters). If you're able to do everything through the Unicode Win32 APIs, you can reach 65535 characters, assuming the filesystem supports it (NTFS does, FAT32 would not, for example). I recall there being one function (possibly thinking of mktemp) that couldn't properly handle the long paths, but I believe that was it. Other apps may or may not handle the longer paths well; the core.longpaths switch may prevent mishaps in more than just Explorer, but the downside isn't disaster always either -- for example, Explorer just refuses to browse to that path. (Note that other apps may include both the msys bits as well as the Windows command line built-in commands, which may make things that farm out to sh behave in unusual ways. I vaguely remember testing this myself, but I don't recall what I did exactly or what happened.) --Doug -- 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