Commit Diff


commit - f5f1f9c21f2e0723f0a8178f620b7f43724e6b60
commit + 984c073dfee89f661d050e8a4fd10fc0e858af7d
blob - f6dfefff09245b68cc78a7e173e6e4b99c35b095
blob + b9ebd926424d13793969300684f53520e02f0a45
--- lib/fileindex.c
+++ lib/fileindex.c
@@ -200,7 +200,22 @@ got_fileindex_entry_filetype_set(struct got_fileindex_
 	return NULL;
 }
 
+void
+got_fileindex_entry_staged_filetype_set(struct got_fileindex_entry *ie, int type)
+{
+	ie->mode &= ~GOT_FILEIDX_MODE_FILE_TYPE_STAGED;
+	ie->mode |= ((type << GOT_FILEIDX_MODE_FILE_TYPE_STAGED_SHIFT) &
+	    GOT_FILEIDX_MODE_FILE_TYPE_STAGED);
+}
+
 int
+got_fileindex_entry_staged_filetype_get(struct got_fileindex_entry *ie)
+{
+	return (ie->mode & GOT_FILEIDX_MODE_FILE_TYPE_STAGED) >>
+	    GOT_FILEIDX_MODE_FILE_TYPE_STAGED_SHIFT;
+}
+
+int
 got_fileindex_entry_has_blob(struct got_fileindex_entry *ie)
 {
 	return (ie->flags & GOT_FILEIDX_F_NO_BLOB) == 0;
blob - 3b31707b843e151acad2a29679f0d76ff46e266f
blob + 5054bb89517181c2e094d1887e25ad908e11ef53
--- lib/got_lib_fileindex.h
+++ lib/got_lib_fileindex.h
@@ -168,5 +168,7 @@ void got_fileindex_entry_stage_set(struct got_fileinde
 int got_fileindex_entry_filetype_get(struct got_fileindex_entry *);
 const struct got_error *got_fileindex_entry_filetype_set(
     struct got_fileindex_entry *, int);
+void got_fileindex_entry_staged_filetype_set(struct got_fileindex_entry *, int);
+int got_fileindex_entry_staged_filetype_get(struct got_fileindex_entry *);
 
 void got_fileindex_entry_mark_deleted_from_disk(struct got_fileindex_entry *);