signed off by Tito Ragusa --- builtin-fetch-pack.c.orig 2009-08-29 23:58:52.000000000 +0200 +++ builtin-fetch-pack.c 2009-09-12 11:47:00.000000000 +0200 @@ -813,7 +813,11 @@ int fd; mtime.sec = st.st_mtime; +#if 0 mtime.nsec = ST_MTIME_NSEC(st); +#else + mtime.nsec = (unsigned long int)st.st_mtimensec; +#endif if (stat(shallow, &st)) { if (mtime.sec) die("shallow file was removed during fetch"); --- read-cache.c.orig 2009-08-29 23:58:52.000000000 +0200 +++ read-cache.c 2009-09-12 22:04:22.000000000 +0200 @@ -69,8 +69,13 @@ { ce->ce_ctime.sec = (unsigned int)st->st_ctime; ce->ce_mtime.sec = (unsigned int)st->st_mtime; +#if 0 ce->ce_ctime.nsec = ST_CTIME_NSEC(*st); ce->ce_mtime.nsec = ST_MTIME_NSEC(*st); +#else + ce->ce_ctime.nsec = (unsigned long int)st->st_ctimensec; + ce->ce_mtime.nsec = (unsigned long int)st->st_mtimensec; +#endif ce->ce_dev = st->st_dev; ce->ce_ino = st->st_ino; ce->ce_uid = st->st_uid; @@ -1299,7 +1304,11 @@ dst_offset += ce_size(ce); } istate->timestamp.sec = st.st_mtime; +#if 0 istate->timestamp.nsec = ST_MTIME_NSEC(st); +#else + istate->timestamp.nsec = (unsigned long int)st.st_mtimensec; +#endif while (src_offset <= mmap_size - 20 - 8) { /* After an array of active_nr index entries, @@ -1564,7 +1573,11 @@ if (ce_flush(&c, newfd) || fstat(newfd, &st)) return -1; istate->timestamp.sec = (unsigned int)st.st_mtime; +#if 0 istate->timestamp.nsec = ST_MTIME_NSEC(st); +#else + istate->timestamp.nsec = (unsigned long int)st.st_mtimensec; +#endif return 0; }