diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2015-05-13 09:11:38 -0400 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2015-05-13 09:11:38 -0400 |
commit | d01737b419fd61010d2a0948d5d77fb0f214820a (patch) | |
tree | 807530b4a5bc0a366ea8fc8b88de824bf8008075 | |
parent | b0c4b6420c90a937ab581c4c33f311a36a4e8e8f (diff) | |
parent | ca29427979b693714a78f01a8e3a754358584882 (diff) | |
download | libgit2-d01737b419fd61010d2a0948d5d77fb0f214820a.tar.gz |
Merge pull request #3117 from libgit2/cmn/index-more-accurate
index: make the entries have more accurate sizes
-rw-r--r-- | include/git2/index.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/include/git2/index.h b/include/git2/index.h index 92636adeb..52032f7fd 100644 --- a/include/git2/index.h +++ b/include/git2/index.h @@ -24,9 +24,9 @@ GIT_BEGIN_DECL /** Time structure used in a git index entry */ typedef struct { - git_time_t seconds; + int32_t seconds; /* nsec should not be stored as time_t compatible */ - unsigned int nanoseconds; + uint32_t nanoseconds; } git_index_time; /** @@ -44,22 +44,27 @@ typedef struct { * accessed via the later `GIT_IDXENTRY_...` bitmasks below. Some of * these flags are read from and written to disk, but some are set aside * for in-memory only reference. + * + * Note that the time and size fields are truncated to 32 bits. This + * is enough to detect changes, which is enough for the index to + * function as a cache, but it should not be taken as an authoritative + * source for that data. */ typedef struct git_index_entry { git_index_time ctime; git_index_time mtime; - unsigned int dev; - unsigned int ino; - unsigned int mode; - unsigned int uid; - unsigned int gid; - git_off_t file_size; + uint32_t dev; + uint32_t ino; + uint32_t mode; + uint32_t uid; + uint32_t gid; + uint32_t file_size; git_oid id; - unsigned short flags; - unsigned short flags_extended; + uint16_t flags; + uint16_t flags_extended; const char *path; } git_index_entry; |