On Tue, Jan 27, 2015 at 3:51 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Erik Faye-Lund <kusmabite@xxxxxxxxx> writes: > >> On Fri, Jan 16, 2015 at 1:04 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >>> Jeff King <peff@xxxxxxxx> writes: >>> >>>> Exactly. I am happy to submit a patch, but I cannot think of any >>>> mechanisms besides: >>>> >>>> 1. Calling `id`, which I suspect is very not portable. >>>> >>>> 2. Writing a C program to check getuid(). That's portable for most >>>> Unixes. It looks like we already have a hacky wrapper on mingw that >>>> will always return "1". >>>> >>>> Is (2) too gross? >>> >>> Not overly gross compared to some existing test-*.c files, I would >>> say. >>> >>> I wondered what 'perl -e 'print $>' would say in mingw, and if that >>> is portable enough, though. >> >> $ perl -e 'print $>' >> 500 > > Thanks for a follow-up. > > Is "id -u" not useful over there? I ask because that is what is > used in the version tentatively queued on 'pu' for NOT_ROOT > prerequisite (the jk/sanity topic). It's pretty much the same thing: $ id -u 500 > The SANITY prerequisite in that topic needs to be replaced with the > one from Torsten that attempts to check what we want to know in a > more direct way; i.e. "after making a directory or a file read-only, > does the filesystem really honours that, or lets us clobber?" is > what we need to know to skip some tests, and we should check that, > instead of "is / writable by us?" or "are we root?". $ test -w / && echo yes yes $ mkdir foo && chmod a= foo $ test -w w && echo yes $ rm -r foo rm: directory `foo' is write protected; descend into it anyway? n $ rm -r foo < /dev/null $ ls -la foo ls: foo: No such file or directory $ So, Windows does only kind-of respect read-only flags. Dunno if this tells you something useful, though. -- 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