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-06-24 01:44:41 +02:00
|
|
|
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-10-08 23:46:21 +02:00
|
|
|
`rcs_preprevert` |yes |no |no |no |no |no |no |no
|
|
|
|
`rcs_revert` |yes |no |no |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
|
2010-06-24 01:44:41 +02:00
|
|
|
openid username |yes |no |no |no |no |no |no |no
|
2010-03-29 19:17:49 +02:00
|
|
|
"""]]
|
2007-08-21 06:26:22 +02:00
|
|
|
|
2010-06-24 01:44:41 +02:00
|
|
|
Notes:
|
|
|
|
|
|
|
|
* 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]].
|
|
|
|
* `rcs_getctime` and `rcs_getmtime` may be implemented in a fast way (ie, one log
|
|
|
|
lookup for all files), or very slowly (one lookup per file).
|
|
|
|
* Openid username support allows avoiding display of Google's ugly openids.
|
|
|
|
|
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.
|