Commit 91e88941 by Vicent Marti

Properly write Index Entry 'flags_extended'

Always write the 'flags_extended' attribute to disk if it's available.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
parent a84972d0
...@@ -529,6 +529,8 @@ static size_t read_entry(git_index_entry *dest, const void *buffer, size_t buffe ...@@ -529,6 +529,8 @@ static size_t read_entry(git_index_entry *dest, const void *buffer, size_t buffe
if (INDEX_FOOTER_SIZE + minimal_entry_size > buffer_size) if (INDEX_FOOTER_SIZE + minimal_entry_size > buffer_size)
return 0; return 0;
memset(dest, 0x0, sizeof(git_index_entry));
source = (const struct entry_short *)(buffer); source = (const struct entry_short *)(buffer);
dest->ctime.seconds = ntohl(source->ctime.seconds); dest->ctime.seconds = ntohl(source->ctime.seconds);
...@@ -764,6 +766,10 @@ int git_index__write(git_index *index, git_filelock *file) ...@@ -764,6 +766,10 @@ int git_index__write(git_index *index, git_filelock *file)
WRITE_WORD(entry->gid); WRITE_WORD(entry->gid);
WRITE_WORD(entry->file_size); WRITE_WORD(entry->file_size);
WRITE_BYTES(entry->oid.id, GIT_OID_RAWSZ); WRITE_BYTES(entry->oid.id, GIT_OID_RAWSZ);
if (entry->flags_extended != 0)
entry->flags |= GIT_IDXENTRY_EXTENDED;
WRITE_SHORT(entry->flags); WRITE_SHORT(entry->flags);
if (entry->flags & GIT_IDXENTRY_EXTENDED) { if (entry->flags & GIT_IDXENTRY_EXTENDED) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment