Hints and documentation for developers

Some description of data structures, and similar. More...


 What to do in case of errors

First, please read the documentation to rule out the possibility that it's just a badly written sentence that caused misunderstanding.

 The internal design
 Entry data storage.

The basic data structure for entries; an entry can be a file, directory, or special node (symlink or device).

 Debugging and error checking.

Depending on configure options (--enable-debug, --enable-release) and system state (valgrind found) various debug and error check functions are compiled out.

 Global options.

A list of variables that can be set by commandline parameters or environment variables; these are used in nearly every action.


apr_hash_t * ign___groups = NULL
 All groups, addressed by name.

Detailed Description

Some description of data structures, and similar.

Dear developers/debuggers,

thank you for your interest in fsvs.

I highly appreciate any help, tips and tricks, and even if it's just a bug report I want to know that.

I'm also looking forward to documentation updates, and notifying me about mistakes will be politely answered, too.

Variable Documentation

apr_hash_t* ign___groups = NULL

All groups, addressed by name.


Some thoughts about groups in FSVS.

Groups have to be considered as follows:

  • On commit the auto-props must be used
  • if an entry was added manually, they should apply as usual
  • unless they're overridden by prop-set or prop-del

The easiest way seems to be to write the properties in the filesystem when the entries are being stored in the entry list, ie. at add, prop-set, prop-del or commit time.
The simplest way to do that would be in waa__output_tree() - we see that an entry is newly allocated, and push all (not already set) properties there.
But that wouldn't work with the prop-del command, as an automatically assigned property wouldn't get removed.

So there's the function ops__apply_group(), which is called in the appropriate places.

Definition at line 627 of file ignore.c.

Referenced by ign___new_group().

Generated for fsvs by  doxygen 1.6.1