Re: [PATCH 04/11] test-chmtime: work around Windows limitation
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 1, 2009, 07:43 UTC
- Message-ID
- <7vab4smmab.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1243786525-4493-5-git-send-email-prohaska@zib.de>
Steffen Prohaska <prohaska@zib.de> writes:
Show 7 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de> > > 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?
Show 28 quoted lines
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: Steffen Prohaska <prohaska@zib.de>
> ---
> 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