From: Joshua Juran Date: Thu, 02 Sep 2010 09:08:57 GMT Subject: Re: [PATCH] doc: technical details about the index file format Message-ID: In-Reply-To: On Sep 2, 2010, at 1:56 AM, Alex Riesen wrote: > 2010/9/1 Nguyễn Thái Ngọc Duy : >> +== Index entry >> + >> + Index entries are sorted in ascending order on the name field, >> + interpreted as a string of unsigned bytes. Entries with the same >> + name are sorted by their stage field. >> + >> + 32-bit ctime seconds, the last time a file's metadata changed >> + this is stat(2) data >> + >> + 32-bit ctime nanoseconds (modulo 1G) >> + this is stat(2) data > > Maybe I'm missing something, but I failed to find where "modulo 1G" > comes from. > AFAICS (read-cache.c), the stat data are saved almost unmodified > (casted to unsigned int). > (BTW, is 1G the Gravitational Constant or what?) G stands for "giga-" meaning one billion, so 1G refers to one billion nanoseconds. > I'm not sure it is safe to assume that every system Git will be > ported to defines > "unsigned int" to be 32 bits. OTOH, never met one where it is > something else. DOS and early Mac compilers have used 16-bit ints, but I don't think anyone cares. Josh