TODO (ideas) :
**************

That file shares several ideas I've had for the project. Feel free to contribute !

Global :
- Unit testing !
- Provide ready-to-use docker nodes ?
- FS analysis tool to help optimize fpart/fpsync options ?

Fpart:
- Option to add currently-examinated directory (as empty) when closing a partition
  (that would finally allow parallel cpio/tar jobs to maintain directory mtimes)
- Provide long options
- chdir(2) to initial working directory before forking hooks ?
- Implement option -zzzz to list directories only (0-sized) ?
- -E should probably not imply -z (as empty dirs are part of parent dirs' file lists)
- To minimize memory footprint in non-live mode, add a 'checkpoint' capability
  to sort and flush partitions when a memory / file entry count limit is reached
- Add an option to specify that a directory matching a path or a pattern should
  not be split but treated as a file entry
- Add constraints, e.g. : force hardlinks to belong to the same partition
- Improve sort by using, e.g. : http://en.wikipedia.org/wiki/External_sorting
- Display total size in final status
- Rework error code (errx(3), perror(3), ...)
- Split fpart_hook() in two parts : fpart_hook_init_env() + forking code
- Use queue(3) ?

Fpsync:
- Show if dirsonly/aggressive mode is enabled in status
- When waiting for sync jobs to complete, regularly show status
- Provide per-job pre- and post-xfer rc scripts
  (useful to perform tasks such as computing an
  additional src/ or dst/ prefix - to be added too)
- Ability to replay one or more jobs within a specific run
- Add "debug" pseudo-tool ?
- Show transmitted data size in final status + SIGINFO handler (see GH issue #24)
- Improve portability (egrep vs grep, ...)
- Colorized / Improved output / Progressbar
- Check if src_dir/ is the same on all workers (using a stat fingerprint)
  and use the same method for dst_dir/ (stop using a witness file)
- Add options to limit total bandwidth / per-syncer load

Autotools:
- Use config.h (for program version, data types, header inclusion,
  build options info [...])
- Add -Wall to CFLAGS when possible (gcc, clang)

Documentation:
- Better document fpart's option '-s' behaviour in live mode (see GH issue #36)
