* [PATCH] git clone needs to know executability of template files
@ 2009-03-19 10:28 Alex Riesen
2009-03-19 10:57 ` Johannes Schindelin
0 siblings, 1 reply; 3+ messages in thread
From: Alex Riesen @ 2009-03-19 10:28 UTC (permalink / raw)
To: Git Mailing List
Cc: Johannes Sixt, Jeff King, layer, Johannes Schindelin,
Junio C Hamano
[-- Attachment #1: Type: text/plain, Size: 169 bytes --]
Use posix_lstat for template source.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
builtin-init-db.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
[-- Attachment #2: 0002-git-clone-needs-to-know-executability-of-template-fil.diff --]
[-- Type: application/octet-stream, Size: 814 bytes --]
From e7b9002e3157607aa251b85e4f94f5866d9bf375 Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Thu, 19 Mar 2009 11:17:59 +0100
Subject: [PATCH 2/4] git clone needs to know executability of template files
Use posix_lstat for template source.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
builtin-init-db.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-init-db.c b/builtin-init-db.c
index ee3911f..0b6dc16 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 (posix_lstat(template, &st_template))
die("cannot stat template %s", template);
if (S_ISDIR(st_template.st_mode)) {
--
1.6.2.142.gaf8db
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] git clone needs to know executability of template files
2009-03-19 10:28 [PATCH] git clone needs to know executability of template files Alex Riesen
@ 2009-03-19 10:57 ` Johannes Schindelin
0 siblings, 0 replies; 3+ messages in thread
From: Johannes Schindelin @ 2009-03-19 10:57 UTC (permalink / raw)
To: Alex Riesen
Cc: Git Mailing List, Johannes Sixt, Jeff King, layer, Junio C Hamano
Hi,
On Thu, 19 Mar 2009, Alex Riesen wrote:
> Use posix_lstat for template source.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ---
As this patch builds on top of your earlier patch, you should have made a
patch series.
But as I said, I think it is wrong.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] Define a version of lstat(2) with posix semantics
@ 2009-03-19 10:27 Alex Riesen
2009-03-19 10:57 ` Johannes Schindelin
0 siblings, 1 reply; 3+ messages in thread
From: Alex Riesen @ 2009-03-19 10:27 UTC (permalink / raw)
To: Git Mailing List
Cc: Johannes Sixt, Jeff King, layer, Johannes Schindelin,
Junio C Hamano
[-- Attachment #1: Type: text/plain, Size: 972 bytes --]
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>
---
2009/3/18 Junio C Hamano <gitster@pobox.com>:
> 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...
You are damn right! I suggest providing posix_lstat, which has the posix
semantics regarding x-bit in st_mode. Maybe even posix_stat is need, too.
There are other places which went broken recently in this regard (lstat
cache patches?). Some will have to use this posix_lstat (the
copy_templates_1), the others have to get a careful core.filemode
handling (like check_remove in diff-lib.c, which isn't just about
removed files).
git-compat-util.h | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
[-- Attachment #2: 0001-Define-a-version-of-lstat-2-with-posix-semantics.diff --]
[-- Type: application/octet-stream, Size: 1068 bytes --]
From b0e3710e7e60d8f81bf252ff9987e17ece4a3be3 Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Thu, 19 Mar 2009 11:17:01 +0100
Subject: [PATCH] Define a version of lstat(2) with posix semantics
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>
---
git-compat-util.h | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h
index 1906253..2401f84 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -85,11 +85,16 @@
#undef _XOPEN_SOURCE
#include <grp.h>
#define _XOPEN_SOURCE 600
+static inline int posix_lstat(const char *file_name, struct stat *buf)
+{
+ return lstat(file_name, buf);
+}
#include "compat/cygwin.h"
#else
#undef _ALL_SOURCE /* AIX 5.3L defines a struct list with _ALL_SOURCE. */
#include <grp.h>
#define _ALL_SOURCE 1
+#define posix_lstat lstat
#endif
#else /* __MINGW32__ */
/* pull in Windows compatibility stuff */
--
1.6.2.142.gaf8db
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] Define a version of lstat(2) with posix semantics
2009-03-19 10:27 [PATCH] Define a version of lstat(2) with posix semantics Alex Riesen
@ 2009-03-19 10:57 ` Johannes Schindelin
2009-03-19 21:40 ` Alex Riesen
0 siblings, 1 reply; 3+ messages in thread
From: Johannes Schindelin @ 2009-03-19 10:57 UTC (permalink / raw)
To: Alex Riesen
Cc: Git Mailing List, Johannes Sixt, Jeff King, layer, Junio C Hamano
Hi,
On Thu, 19 Mar 2009, Alex Riesen wrote:
> 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>
> ---
[patch not inlined: therefore you'll have to guess what I am referring to]
It seems quite wrong to define something for other platforms when only
Cygwin is affected.
I'd rather just disable WIN32_STAT for Cygwin, because otherwise, we will
keep running into issues.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Define a version of lstat(2) with posix semantics
2009-03-19 10:57 ` Johannes Schindelin
@ 2009-03-19 21:40 ` Alex Riesen
2009-03-19 21:43 ` [PATCH] git clone needs to know executability of template files Alex Riesen
0 siblings, 1 reply; 3+ messages in thread
From: Alex Riesen @ 2009-03-19 21:40 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Git Mailing List, Johannes Sixt, Jeff King, layer, Junio C Hamano
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>
---
Johannes Schindelin, Thu, Mar 19, 2009 11:57:01 +0100:
> On Thu, 19 Mar 2009, Alex Riesen wrote:
> > So that Cygwin port can continue work around its supporting
> > library and get access to its faked file attributes.
> >
>
> [patch not inlined: therefore you'll have to guess what I am referring to]
I resend.
> It seems quite wrong to define something for other platforms when only
> Cygwin is affected.
I know. Didn't I already said I'm sorry? I even said that it is fine
if the patches wont be applied. Just wanted to share the pain.
> I'd rather just disable WIN32_STAT for Cygwin, because otherwise, we will
> keep running into issues.
I'd rather not. The thing is just so unbelievably slow and being stuck
on it I'm just trying my damnedest to squeeze every last bit of
performance out of it.
git-compat-util.h | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h
index f09f244..c99549d 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -85,11 +85,16 @@
#undef _XOPEN_SOURCE
#include <grp.h>
#define _XOPEN_SOURCE 600
+static inline int posix_lstat(const char *file_name, struct stat *buf)
+{
+ return lstat(file_name, buf);
+}
#include "compat/cygwin.h"
#else
#undef _ALL_SOURCE /* AIX 5.3L defines a struct list with _ALL_SOURCE. */
#include <grp.h>
#define _ALL_SOURCE 1
+#define posix_lstat lstat
#endif
#else /* __MINGW32__ */
/* pull in Windows compatibility stuff */
--
1.6.2.1.237.g7206c6
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH] git clone needs to know executability of template files
2009-03-19 21:40 ` Alex Riesen
@ 2009-03-19 21:43 ` Alex Riesen
0 siblings, 0 replies; 3+ messages in thread
From: Alex Riesen @ 2009-03-19 21:43 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Git Mailing List, Johannes Sixt, Jeff King, layer, Junio C Hamano
Use posix_lstat for template source. The copy_templates_1 needs to
know the file mode information for the copy of the template. The
copying of the executable bit always work on POSIX systems and
sometimes even on Cygwin.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
builtin-init-db.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-init-db.c b/builtin-init-db.c
index ee3911f..0b6dc16 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 (posix_lstat(template, &st_template))
die("cannot stat template %s", template);
if (S_ISDIR(st_template.st_mode)) {
--
1.6.2.1.237.g7206c6
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-03-19 21:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-19 10:28 [PATCH] git clone needs to know executability of template files Alex Riesen
2009-03-19 10:57 ` Johannes Schindelin
-- strict thread matches above, loose matches on Subject: below --
2009-03-19 10:27 [PATCH] Define a version of lstat(2) with posix semantics Alex Riesen
2009-03-19 10:57 ` Johannes Schindelin
2009-03-19 21:40 ` Alex Riesen
2009-03-19 21:43 ` [PATCH] git clone needs to know executability of template files Alex Riesen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).