[PATCH v3 06/24] read-cache: Don't compare uid, gid and ino on cygwin

2013-08-18 Thread Thomas Gummerer
Cygwin doesn't have uid, gid and ino stats fields.  Therefore we should
never check them in the match_stat_data when working on the CYGWIN
platform.

Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---

This patch was not tested on Cygwin yet.  I think it's needed though,
because the re-reading of the index if it changed will no longer use
it's own index_changed function, but use the stat_validity_check
function instead.  Would be great if someone running Cygwin could test
this.

 read-cache.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/read-cache.c b/read-cache.c
index 1f827de..aa17ce7 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -82,6 +82,7 @@ int match_stat_data(const struct stat_data *sd, struct stat 
*st)
changed |= CTIME_CHANGED;
 #endif
 
+#if !defined (__CYGWIN__)
if (check_stat) {
if (sd-sd_uid != (unsigned int) st-st_uid ||
sd-sd_gid != (unsigned int) st-st_gid)
@@ -89,6 +90,7 @@ int match_stat_data(const struct stat_data *sd, struct stat 
*st)
if (sd-sd_ino != (unsigned int) st-st_ino)
changed |= INODE_CHANGED;
}
+#endif
 
 #ifdef USE_STDEV
/*
-- 
1.8.3.4.1231.g9fbf354.dirty

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 06/24] read-cache: Don't compare uid, gid and ino on cygwin

2013-08-18 Thread Ramsay Jones
On 18/08/2013 08:41 PM, Thomas Gummerer wrote:
 Cygwin doesn't have uid, gid and ino stats fields.  Therefore we should
 never check them in the match_stat_data when working on the CYGWIN
 platform.

Hmm, this is simply not true ... ;-)

The need to omit the uid, gid and ino fields from the stat checks in
your original code was caused by the schizophrenic stat implementation
in cygwin. (This was also before core.checkstat was implemented; note
the 'check_stat' conditional below ...)

However, since commit f66450ae (cygwin: Remove the Win32 l/stat()
implementation, 22-06-2013), this patch is no longer necessary and
can simply be dropped from this series.

[I have not had time to read your new patches yet, but I seem to remember
being concerned about those platforms which have UNRELIABLE_FSTAT set.
(ie cygwin, MinGW and Windows.)]

ATB,
Ramsay Jones

 Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
 ---
 
 This patch was not tested on Cygwin yet.  I think it's needed though,
 because the re-reading of the index if it changed will no longer use
 it's own index_changed function, but use the stat_validity_check
 function instead.  Would be great if someone running Cygwin could test
 this.
 
  read-cache.c | 2 ++
  1 file changed, 2 insertions(+)
 
 diff --git a/read-cache.c b/read-cache.c
 index 1f827de..aa17ce7 100644
 --- a/read-cache.c
 +++ b/read-cache.c
 @@ -82,6 +82,7 @@ int match_stat_data(const struct stat_data *sd, struct stat 
 *st)
   changed |= CTIME_CHANGED;
  #endif
  
 +#if !defined (__CYGWIN__)
   if (check_stat) {
   if (sd-sd_uid != (unsigned int) st-st_uid ||
   sd-sd_gid != (unsigned int) st-st_gid)
 @@ -89,6 +90,7 @@ int match_stat_data(const struct stat_data *sd, struct stat 
 *st)
   if (sd-sd_ino != (unsigned int) st-st_ino)
   changed |= INODE_CHANGED;
   }
 +#endif
  
  #ifdef USE_STDEV
   /*
 

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html