git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 17 of 37 in “Various msysgit patches”
  1. 00/11 Various msysgit patchesSteffen Prohaska, May 31, 2009
  2. 01/11 MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymoreSteffen Prohaska, May 31, 2009
  3. 02/11 Quiet make: do not leave Windows behindSteffen Prohaska, May 31, 2009
  4. 03/11 Work around a regression in Windows 7, causing erase_in_line() to crash sometimesSteffen Prohaska, May 31, 2009
  5. 04/11 test-chmtime: work around Windows limitationSteffen Prohaska, May 31, 2009
  6. 05/11 winansi: fix compile warningsSteffen Prohaska, May 31, 2009
  7. 06/11 git: browsing paths with spaces when using the start commandSteffen Prohaska, May 31, 2009
  8. 07/11 connect.c: Support PuTTY plink and TortoisePlink as SSH on WindowsSteffen Prohaska, May 31, 2009
  9. 08/11 MinGW readdir reimplementation to support d_typeSteffen Prohaska, May 31, 2009
  10. Johannes SixtMay 31, 2009
  11. Johannes SixtMay 31, 2009
  12. 05/11 MinGW: fix warning about implicit declaration of _getch()Steffen Prohaska, Jun 1, 2009
  13. 03/11 Work around a regression in Windows 7, causing erase_in_line() to crash sometimesSteffen Prohaska, Jun 1, 2009
  14. Johannes SchindelinJun 1, 2009
  15. Steffen ProhaskaJun 1, 2009
  16. Johannes SchindelinJun 1, 2009
  17. Junio C HamanoJun 1, 2009
  18. Johannes SchindelinJun 1, 2009
  19. Johannes SixtMay 31, 2009
  20. 10/11 Fix warnings in nedmalloc when compiling with GCC 4.4.0Steffen Prohaska, May 31, 2009
  21. 11/11 MinGW: Teach Makefile to detect msysgit and apply specific settingsSteffen Prohaska, May 31, 2009
  22. Junio C HamanoJun 1, 2009
  23. Johannes SchindelinJun 1, 2009
  24. Junio C HamanoJun 1, 2009
  25. GeunSik LimJun 1, 2009
  26. Johannes SchindelinJun 2, 2009
  27. Junio C HamanoJun 2, 2009
  28. Johannes SchindelinJun 3, 2009
  29. Junio C HamanoJun 3, 2009
  30. 10/11 Fix warnings in nedmalloc when compiling with GCC 4.4.0Johannes Schindelin, Jun 8, 2009
  31. Junio C HamanoJun 8, 2009
  32. Johannes SixtJun 8, 2009
  33. Steffen ProhaskaJun 9, 2009
  34. Johannes SixtJun 10, 2009
  35. Fix typo in nedmalloc warning fixJohannes Sixt, Jun 11, 2009
  36. compat/ has subdirectories: do not omit them in 'make clean'Johannes Sixt, Jun 11, 2009
  37. Johannes SchindelinJun 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.