File: README.adoc

package info (click to toggle)
rdiff-backup 2.2.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,640 kB
  • sloc: python: 24,129; javascript: 9,512; sh: 1,230; ansic: 580; makefile: 36
file content (37 lines) | stat: -rw-r--r-- 1,810 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
= rdiff-backup: {page-name}
:page-name: Architecture
:sectnums:
:toc: macro

link:..[Home,role="button round"] // *{page-name}*

'''''

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.

toc::[]

== Diagrams

* The script link:rdiff_backup_classes.sh[rdiff_backup_classes.sh] generates a link:rdiff_backup_classes.puml[simple class diagram] in https://plantuml.com/class-diagram[PlantUML format], which is itself rendered into an link:rdiff_backup_classes.svg[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 link:classes.svg[pyreverse class diagram] looks less readable to me but it shows also composition/aggregation of classes.
The link:packages.svg[packages diagram] generated by the same command is itself utterly useless.

== Plug-in architecture

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 link:plugins[plug-ins interface] is defined in a separate document.

== Locations

How xref:locations.adoc[locations objects], i.e. directories and repositories, are handled is described.
There is for now a rather outdated xref:repository_format.adoc[format document].

== Other topics

* xref:completion.adoc[shell completion scripting] - if you want to add your ownshell completion script
* xref:error_policy.adoc[error policy] - quite old