X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/14cd75746a2c73b50548b6fdb3583d536b6ef9bd..4fd2807886d5fa376e5f74bb8c75f7cf4ef7fd15:/IkiWiki/Plugin/norcs.pm diff --git a/IkiWiki/Plugin/norcs.pm b/IkiWiki/Plugin/norcs.pm index 04ba5f028..bfe84c0e1 100644 --- a/IkiWiki/Plugin/norcs.pm +++ b/IkiWiki/Plugin/norcs.pm @@ -1,98 +1,67 @@ #!/usr/bin/perl # Stubs for no revision control. - -package IkiWiki; +package IkiWiki::Plugin::norcs; use warnings; use strict; use IkiWiki; +sub import { + hook(type => "getsetup", id => "norcs", call => \&getsetup); + hook(type => "rcs", id => "rcs_update", call => \&rcs_update); + hook(type => "rcs", id => "rcs_prepedit", call => \&rcs_prepedit); + hook(type => "rcs", id => "rcs_commit", call => \&rcs_commit); + hook(type => "rcs", id => "rcs_commit_staged", call => \&rcs_commit_staged); + hook(type => "rcs", id => "rcs_add", call => \&rcs_add); + hook(type => "rcs", id => "rcs_remove", call => \&rcs_remove); + hook(type => "rcs", id => "rcs_rename", call => \&rcs_rename); + hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges); + hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff); + hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime); +} + +sub getsetup () { + return + plugin => { + safe => 0, # rcs plugin + rebuild => 0, + }, +} + + sub rcs_update () { - # Update working directory to current version. - # (May be more complex for distributed RCS.) } sub rcs_prepedit ($) { - # Prepares to edit a file under revision control. Returns a token - # that must be passed into rcs_commit when the file is ready - # for committing. - # The file is relative to the srcdir. return "" } sub rcs_commit ($$$;$$) { - # Tries to commit the page; returns undef on _success_ and - # a version of the page with the rcs's conflict markers on failure. - # The file is relative to the srcdir. my ($file, $message, $rcstoken, $user, $ipaddr) = @_; return undef # success } sub rcs_commit_staged ($$$) { - # Commits all staged changes. Changes can be staged using rcs_add, - # rcs_remove, and rcs_rename. my ($message, $user, $ipaddr)=@_; return undef # success } sub rcs_add ($) { - # Add a file. The filename is relative to the root of the srcdir. - # Note that this should not check the new file in, it should only - # prepare for it to be checked in when rcs_commit is called. - # Note that the file may be in a new subdir that is not yet added - # to version control; the subdir can be added if so. } sub rcs_remove ($) { - # Remove a file. The filename is relative to the root of the srcdir. - # Note that this should not check the removal in, it should only - # prepare for it to be checked in when rcs_commit is called. - # Note that the new file may be in a new subdir that is not yet added - # to version control; the subdir can be added if so. } sub rcs_rename ($$) { - # Rename a file. The filenames are relative to the root of the srcdir. - # Note that this should not commit the rename, it should only - # prepare it for when rcs_commit is called. - # The new filename may be in a new subdir, that is not yet added to - # version control. If so, the subdir will exist already, and should - # be added to revision control. } sub rcs_recentchanges ($) { - # Examine the RCS history and generate a list of recent changes. - # The data structure returned for each change is: - # { - # rev => # the RCSs id for this commit - # user => # name of user who made the change, - # committype => # either "web" or the name of the rcs, - # when => # time when the change was made, - # message => [ - # { line => "commit message line" }, - # { line => "commit message line" }, - # # etc, - # ], - # pages => [ - # { - # page => # name of page changed, - # diffurl => # optional url to a diff showing - # # the changes, - # }, - # # repeat for each page changed in this commit, - # ], - # } } sub rcs_diff ($) { - # Optional, used to get diffs for recentchanges. - # The parameter is the rev from rcs_recentchanges. - # Should return a list of lines of the diff (including \n) in list - # context, and the whole diff in scalar context. } sub rcs_getctime ($) { - # Optional, used to get the page creation time from the RCS. error gettext("getctime not implemented"); }