Skip to content

Commit

Permalink
OstreeMutableTree: Document each private member of OstreeMutableTree
Browse files Browse the repository at this point in the history
A prelude to my understanding.  Unfortunately `OstreeMutableTree` provides
little encapsulation, as each member has setters† so it's difficult to come
up with a list of invariants.

† `files` and `subdirs` only have getters, but the getters return mutable
  references to the internals, so we still can't reason about invariants.

Closes: #1645
Approved by: jlebon
  • Loading branch information
wmanley authored and rh-atomic-bot committed Jun 25, 2018
1 parent e120a6b commit ca8571a
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/libostree/ostree-mutable-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,20 @@ struct OstreeMutableTree
{
GObject parent_instance;

/* This is the checksum of the Dirtree object that corresponds to the current
* contents of this directory. contents_checksum can be NULL if the SHA was
* never calculated or contents of the mtree has been modified. Even if
* contents_checksum is not NULL it may be out of date. */
char *contents_checksum;

/* This is the checksum of the DirMeta object that holds the uid, gid, mode
* and xattrs of this directory. This can be NULL. */
char *metadata_checksum;

/* const char* filename -> const char* checksum */
GHashTable *files;

/* const char* filename -> OstreeMutableTree* subtree */
GHashTable *subdirs;
};

Expand Down

0 comments on commit ca8571a

Please sign in to comment.