From: Junio C Hamano Date: Mon, 01 Jun 2009 07:43:40 GMT Subject: Re: [PATCH 04/11] test-chmtime: work around Windows limitation Message-ID: <7vab4smmab.fsf@alter.siamese.dyndns.org> In-Reply-To: <1243786525-4493-5-git-send-email-prohaska@zib.de> Steffen Prohaska writes: > From: Johannes Schindelin > > Windows has problems changing the mtime when the file is write protected, > even by the owner of said file. > > Add a Windows-only workaround to change the mode if necessary before > trying to change the mtime. I'll queue this as-is for now, but shouldn't the code remember the original mode and change it back? > Signed-off-by: Johannes Schindelin > Signed-off-by: Steffen Prohaska > --- > test-chmtime.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/test-chmtime.c b/test-chmtime.c > index d5358cb..fe476cb 100644 > --- a/test-chmtime.c > +++ b/test-chmtime.c > @@ -87,6 +87,15 @@ int main(int argc, const char *argv[]) > return -1; > } > > +#ifdef WIN32 > + if (!(sb.st_mode & S_IWUSR) && > + chmod(argv[i], sb.st_mode | S_IWUSR)) { > + fprintf(stderr, "Could not make user-writable %s: %s", > + argv[i], strerror(errno)); > + return -1; > + } > +#endif > + > utb.actime = sb.st_atime; > utb.modtime = set_eq ? set_time : sb.st_mtime + set_time; > > -- > 1.6.3.1.54.g99dd