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

Re: [PATCH] Define a version of lstat(2) specially for copy operation

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 18, 2009, 07:41 UTC
Message-ID
<7vmybjl1l6.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<20090317213820.GC13458@blimp.localdomain>
Alex Riesen <raa.lkml@gmail.com> writes:
Show 18 quoted lines
> So that Cygwin port can continue work around its supporting
> library and get access to its faked file attributes.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ...
> diff --git a/builtin-init-db.c b/builtin-init-db.c
> index ee3911f..f3f781b 100644
> --- a/builtin-init-db.c
> +++ b/builtin-init-db.c
> @@ -66,7 +66,7 @@ static void copy_templates_1(char *path, int baselen,
>  		else
>  			exists = 1;
>  
> -		if (lstat(template, &st_template))
> +		if (lstat_for_copy(template, &st_template))
>  			die("cannot stat template %s", template);
>  
>  		if (S_ISDIR(st_template.st_mode)) {

Yuck; that's a bit too ugly for generic code. Will there be other places that this needs to be used? If so, we'd probably need to encourage its use where appropriate, which is even uglier but we cannot avoid it...

Also when the underlying system does not know the executable bit, how would this help? I thought that earlier you said the part that checks if it wants to execute hooks with access(X_OK) will fail, so...

Previous: Alex RiesenNext: Johannes Sixt
Message 9 of 14 in “disable post-checkout test on Cygwin”
  1. disable post-checkout test on CygwinAlex Riesen, Mar 17, 2009
  2. Junio C HamanoMar 17, 2009
  3. Johannes SixtMar 17, 2009
  4. Alex RiesenMar 17, 2009
  5. Junio C HamanoMar 17, 2009
  6. Define a version of lstat(2) specially for copy operationAlex Riesen, Mar 17, 2009
  7. Mark LevedahlMar 18, 2009
  8. Alex RiesenMar 18, 2009
  9. Junio C HamanoMar 18, 2009
  10. Johannes SixtMar 18, 2009
  11. Junio C HamanoMar 18, 2009
  12. Johannes SixtMar 18, 2009
  13. Junio C HamanoMar 18, 2009
  14. Alex RiesenMar 17, 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.