blob: 4e7a8d2a67b0378222e6924dfc32a70d2b1c39d9 (
plain)
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
|
[[!meta title="Revision Control Systems"]]
Ikiwiki supports using several revision control systems for storing page
histories.
Ikiwiki started out supporting only [[Subversion|svn]], but the interface
ikiwiki uses to a revision control system is sufficiently simple and
generic that it can be adapted to work with many systems by writing a
[[plugin|plugins/write]]. [[Subversion|svn]] is still a recommended choice;
[[git]] is another well-tested option.
While all supported revision control systems work well enough for basic
use, some advanced or special features are not supported in all of them.
Lack of support in [[ikiwiki-makerepo]] or auto.setup can make it harder to
set up a wiki using that revision control system. The `rcs_commit_staged`
hook is needed to use [[attachments|plugins/attachment]] or
[[plugins/comments]]. And so on. The table below summarises this for each
revision control system and links to more information about each.
[[!table data="""
feature |[[git]]|[[svn]]|[[bzr]] |[[monotone]]|[[mercurial]]|[[darcs]]|[[tla]] |[[cvs]]
[[ikiwiki-makerepo]]|yes |yes |yes |yes |yes |yes |no |yes
auto.setup |yes |yes |incomplete|yes |incomplete |yes |incomplete|yes
`rcs_commit_staged` |yes |yes |yes |yes |no |yes |no |yes
`rcs_rename` |yes |yes |yes |yes |no |yes |no |yes
`rcs_remove` |yes |yes |yes |yes |no |yes |no |yes
`rcs_diff` |yes |yes |yes |yes |no |yes |yes |yes
anonymous push |yes |no |no |no |no |no |no |no
conflict handling |yes |yes |yes |buggy |yes |yes |yes |yes
"""]]
There is a page with [[details]] about how the different systems work with
ikiwiki, for the curious.
|