Home // Architecture
this directories contains higher-level documentation about the rdiff-backup architecture.
Note
|
it is much work in progress as of now, and reverse engineering from code. |
The script rdiff_backup_classes.sh generates a simple class diagram in PlantUML format, which is itself rendered into an SVG class diagram, which most browsers should be able to render properly. This diagram shows only class inheritance but is properly sorted into rdiff-backup’s modules.
Generated with pyreverse-3 -k -m y -o svg rdiff_backup
(from the pylint
package), the pyreverse class diagram looks less readable to me but it shows also composition/aggregation of classes.
The packages diagram generated by the same command is itself utterly useless.
Even if it might not make sense to write plug-ins for rdiff-backup, in the sense of "dropdown" external plug-ins, it definitely makes sense to define plug-in interfaces which makes it easier to disentangle the code, and extend it without inadvertently breaking other aspects.
The plug-ins interface is defined in a separate document.
How locations objects, i.e. directories and repositories, are handled is described. There is for now a rather outdated format document.
shell completion scripting - if you want to add your ownshell completion script
error policy - quite old