2008-07-21 13:32:31 +02:00
|
|
|
[[!meta title="Revision Control Systems"]]
|
2007-08-21 06:26:22 +02:00
|
|
|
|
|
|
|
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
|
2010-04-17 20:00:25 +02:00
|
|
|
[[plugin|plugins/write]]. These days, most people use [[git]].
|
2007-08-21 06:26:22 +02:00
|
|
|
|
2010-03-29 19:18:49 +02:00
|
|
|
While all supported revision control systems work well enough for basic
|
|
|
|
use, some advanced or special features are not supported in all of them.
|
2010-03-29 19:17:49 +02:00
|
|
|
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`
|
2010-03-29 19:18:49 +02:00
|
|
|
hook is needed to use [[attachments|plugins/attachment]] or
|
2010-04-16 23:02:29 +02:00
|
|
|
[[plugins/comments]]. `rcs_getctime` may be implemented in a fast way
|
|
|
|
(ie, one log lookup for all files), or very slowly (one lookup per file).
|
|
|
|
And so on. The table below summarises this for each revision control
|
|
|
|
system and links to more information about each.
|
2010-03-29 19:17:49 +02:00
|
|
|
|
|
|
|
[[!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
|
2010-04-16 23:02:29 +02:00
|
|
|
`rcs_getctime` |fast |slow |slow |slow |slow |slow |slow |slow
|
2010-04-17 19:58:31 +02:00
|
|
|
`rcs_getmtime` |fast |slow |slow |no |no |no |no |no
|
2010-03-29 19:17:49 +02:00
|
|
|
anonymous push |yes |no |no |no |no |no |no |no
|
|
|
|
conflict handling |yes |yes |yes |buggy |yes |yes |yes |yes
|
|
|
|
"""]]
|
2007-08-21 06:26:22 +02:00
|
|
|
|
|
|
|
There is a page with [[details]] about how the different systems work with
|
|
|
|
ikiwiki, for the curious.
|