From 74baaeba00c90cd7a027e40e2f6d65695341a0e1 Mon Sep 17 00:00:00 2001 From: joey Date: Tue, 21 Aug 2007 04:25:03 +0000 Subject: [PATCH] reorg all the pages about rcs backends. Fix all links --- doc/TourBusStop.mdwn | 2 +- doc/about_rcs_backends/discussion.mdwn | 9 --------- doc/bugs/Monotone_rcs_support.mdwn | 2 +- ..._require_blank_rcs_to_work_as_cgi_only.mdwn | 2 +- doc/css_market.mdwn | 2 +- doc/features.mdwn | 6 ++---- doc/ikiwikiusers.mdwn | 6 +++--- doc/index.mdwn | 10 +++++----- doc/install.mdwn | 2 -- doc/plugins/write.mdwn | 6 +++--- doc/post-commit.mdwn | 7 ++++--- .../details.mdwn} | 8 ++++---- doc/{ => rcs}/git.mdwn | 0 doc/{ => rcs}/mercurial.mdwn | 0 doc/{ => rcs}/monotone.mdwn | 0 doc/{subversion.mdwn => rcs/svn.mdwn} | 2 +- doc/{subversion => rcs/svn}/discussion.mdwn | 0 doc/{ => rcs}/tla.mdwn | 2 ++ doc/recentchanges.mdwn | 7 +++---- doc/todo/git_attribution.mdwn | 2 +- doc/usage.mdwn | 18 +++++------------- 21 files changed, 37 insertions(+), 56 deletions(-) delete mode 100644 doc/about_rcs_backends/discussion.mdwn rename doc/{about_rcs_backends.mdwn => rcs/details.mdwn} (98%) rename doc/{ => rcs}/git.mdwn (100%) rename doc/{ => rcs}/mercurial.mdwn (100%) rename doc/{ => rcs}/monotone.mdwn (100%) rename doc/{subversion.mdwn => rcs/svn.mdwn} (91%) rename doc/{subversion => rcs/svn}/discussion.mdwn (100%) rename doc/{ => rcs}/tla.mdwn (86%) diff --git a/doc/TourBusStop.mdwn b/doc/TourBusStop.mdwn index 77e9c7058..05ed6c21a 100644 --- a/doc/TourBusStop.mdwn +++ b/doc/TourBusStop.mdwn @@ -4,7 +4,7 @@ This wiki serves as the home for the ikiwiki wiki engine, providing collaborativ [[ikiwiki|/index]] provides a wiki engine with several [[/features]] unique or uncommon amongst wiki engines: -* Rather than inventing yet another simplistic, linear version control system, ikiwiki uses a standard version control system such as [[Subversion]] or [[Git]]. You can edit a wiki by committing to your repository, as well as through a traditional web interface. This makes ikiwiki ideal for collaborative software development; just keep your wiki in version control next to your software. You can also take full advantage of the features of these systems; for instance, you can keep a local branch of your wiki via [[Git]]. +* Rather than inventing yet another simplistic, linear version control system, ikiwiki uses a standard version control system such as [[rcs/Subversion]] or [[rcs/Git]]. You can edit a wiki by committing to your repository, as well as through a traditional web interface. This makes ikiwiki ideal for collaborative software development; just keep your wiki in version control next to your software. You can also take full advantage of the features of these systems; for instance, you can keep a local branch of your wiki via [[rcs/Git]]. * You can turn any set of pages into a [[blog]] or similar news feed, complete with RSS and Atom support. You can run your weblog on ikiwiki (and [[many people do|ikiwikiusers]]), run a Planet-like [[aggregator|plugins/aggregate]] for external feeds, or keep a [[TODO]] and [[bug|bugs]] list with tags for completed items. diff --git a/doc/about_rcs_backends/discussion.mdwn b/doc/about_rcs_backends/discussion.mdwn deleted file mode 100644 index cedbaaa20..000000000 --- a/doc/about_rcs_backends/discussion.mdwn +++ /dev/null @@ -1,9 +0,0 @@ -## [[git]] - -I'm currently spending some thoughts on how to extend the -ikiwiki git infrastructure to allow for the two repositories -to be on different machines. Has someone else already made -such thoughts? --[[tschwinge]] - -> Okay, I got this working. I'll test and experiment some -> more and then document it in here. --[[tschwinge]] diff --git a/doc/bugs/Monotone_rcs_support.mdwn b/doc/bugs/Monotone_rcs_support.mdwn index 9514472ee..11f93f11b 100644 --- a/doc/bugs/Monotone_rcs_support.mdwn +++ b/doc/bugs/Monotone_rcs_support.mdwn @@ -1,6 +1,6 @@ #Ikiwiki plugin for the Monotone revision control system. -I've just made a patch to the ikiwiki code that allows it to use the [Monotone](http://monotone.ca/) revision control system. It is available at: +I've just made a patch to the ikiwiki code that allows it to use the [[rcs/Monotone]] revision control system. It is available at: diff --git a/doc/bugs/ikiwiki.setup_require_blank_rcs_to_work_as_cgi_only.mdwn b/doc/bugs/ikiwiki.setup_require_blank_rcs_to_work_as_cgi_only.mdwn index dde6e96d3..8ac6eeb09 100644 --- a/doc/bugs/ikiwiki.setup_require_blank_rcs_to_work_as_cgi_only.mdwn +++ b/doc/bugs/ikiwiki.setup_require_blank_rcs_to_work_as_cgi_only.mdwn @@ -24,7 +24,7 @@ Should it be documented ? >> push changes back. What I do is use svk, which is a distributed RCS based on svn, edit using text editors on my >> laptop, and periodically `svk push` up to the server, which triggers a rebuild on the server. I think [[Joey]] >> works this way too, but I'm not sure. If you don't like editing pages "by hand" then maybe you should look at ->> [[git]] or [[mercurial]] -- they should theoretically allow you to run apache on a working copy which is itself +>> [[rcs/git]] or [[rcs/mercurial]] -- they should theoretically allow you to run apache on a working copy which is itself >> a branch of a working copy running on another machine, but I haven't used them so I don't know. --Ethan >>> Well, by hand editing is just what I'm making sometime. it's just using subversion, in fact. diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn index ded86c7f1..937b90c50 100644 --- a/doc/css_market.mdwn +++ b/doc/css_market.mdwn @@ -11,7 +11,7 @@ files..) * **[[css_market/kirkambar.css]]**, contributed by [[Roktas]]. This far from perfect stylesheet follows a [Gitweb](http://www.kernel.org/git/?p=git/git.git;a=tree;f=gitweb) - like theme, so it may provide a consistent look'n feel along with the [[git]] backend. ;-) + like theme, so it may provide a consistent look'n feel along with the [[rcs/git]] backend. ;-) You can see it in action on [kirkambar](http://kirkambar.net/) (Turkish content). [[meta stylesheet="kirkambar"]] diff --git a/doc/features.mdwn b/doc/features.mdwn index 0ecd1f7f3..a879d7237 100644 --- a/doc/features.mdwn +++ b/doc/features.mdwn @@ -9,10 +9,8 @@ lazy, it's because a real RCS is a good thing to have, and there are advantages to using one that are not possible with a standard wiki. Instead of editing pages in a stupid web form, you can use vim and commit -changes via [[Subversion]]. Or work disconnected using svk and push your -changes out when you come online. Or use [[git]], [[tla]], or [[mercurial]] -to work in a distributed fashion all the time. (It's also possible to -[[plugins/write]] a plugin to support other systems.) +changes via [[Subversion|rcs/svn]], [[rcs/git]], or any of a number of other +[[Revision_Control_Systems|rcs]]. ikiwiki can be run from a [[post-commit]] hook to update your wiki immediately whenever you commit a change using the RCS. diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn index 804f4e9c4..d7ea8b758 100644 --- a/doc/ikiwikiusers.mdwn +++ b/doc/ikiwikiusers.mdwn @@ -6,7 +6,7 @@ Projects * [Planet Debian upstream](http://updo.debian.net/) * The [ion window manager homepage](http://modeemi.fi/~tuomov/ion/) * [Debian Mentors wiki](http://jameswestby.net/mentors/) -* [LinuxWorld.com's monkey.linuxworld.com contributor wiki](http://monkey.linuxworld.com/) ([[Git]] backend) +* [LinuxWorld.com's monkey.linuxworld.com contributor wiki](http://monkey.linuxworld.com/) ([[rcs/Git]] backend) * The [Sparse wiki](http://kernel.org/pub/linux/kernel/people/josh/sparse). * [The BSD Associate Admin Book Project](http://bsdwiki.reedmedia.net/) * The [maildirman wiki](http://svcs.cs.pdx.edu/maildirman) @@ -18,7 +18,7 @@ Projects * [debian-community.org](http://debian-community.org/) * The [cairo graphics library](http://cairographics.org/) website. * [Nouvelles Informations Positives Libres community](http://wiki.nipl.net/) -* The [Portland State Aerospace Society](http://psas.pdx.edu) website. Converted from a combination of TWiki and MoinMoin to ikiwiki, including full history ([[Git]] backend). +* The [Portland State Aerospace Society](http://psas.pdx.edu) website. Converted from a combination of TWiki and MoinMoin to ikiwiki, including full history ([[rcs/Git]] backend). Personal sites and blogs ======================== @@ -37,7 +37,7 @@ Personal sites and blogs * [Christian Aichinger's homepage](http://greek0.net/) * [Ben A'Lee's homepage](http://bmalee.eu/~bma/) * [Adam Shand's homepage](http://adam.shand.net/iki/) -* [Recai Oktaş's homepage](http://kirkambar.net/) (uses [[Git]] backend, Turkish language only). +* [Recai Oktaş's homepage](http://kirkambar.net/) (uses [[rcs/Git]] backend, Turkish language only). * [Hess family wiki](http://kitenet.net/~family/) * [Stefano Zacchiroli's blog](http://www.bononia.it/~zack/blog/) * [Taquiones: Victor Moral's personal website in Spanish](http://taquiones.net) diff --git a/doc/index.mdwn b/doc/index.mdwn index 9d1110772..c89b0aa94 100644 --- a/doc/index.mdwn +++ b/doc/index.mdwn @@ -1,8 +1,8 @@ -Ikiwiki is a **wiki compiler**. It converts wiki pages -into HTML pages suitable for publishing on a website. Ikiwiki stores -pages and history in a revision control system such as [[Subversion]] -or [[Git]]. There are many other [[features]], including support for -[[blogging|blog]], as well as a large array of [[plugins]]. +Ikiwiki is a **wiki compiler**. It converts wiki pages into HTML pages +suitable for publishing on a website. Ikiwiki stores pages and history in a +[[revision_control_system|rcs]] such as [[rcs/Subversion]] or [[rcs/Git]]. +There are many other [[features]], including support for [[blogging|blog]], +as well as a large array of [[plugins]]. [[template id=links]] diff --git a/doc/install.mdwn b/doc/install.mdwn index f408e0af1..6ef81ea0c 100644 --- a/doc/install.mdwn +++ b/doc/install.mdwn @@ -14,8 +14,6 @@ installed, and also uses the following perl modules if available: [[cpan XML::Feed]], [[cpan File::MimeInfo]], [[cpan Locale::gettext]] (version 1.04 or newer). -The [[tla]] support also needs the [[cpan MailTools]] perl module. - Various [[plugins]] use other libraries and utlities; see their individual documentation for details. diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index bbe047d33..7166d15f4 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -474,15 +474,15 @@ rendered to. ## RCS plugins -ikiwiki's support for revision control systems also uses pluggable perl -modules. These are in the `IkiWiki::RCS` namespace, for example +ikiwiki's support for [[revision_control_systems|rcs]] also uses pluggable +perl modules. These are in the `IkiWiki::RCS` namespace, for example `IkiWiki::RCS::svn`. Each RCS plugin must support all the `IkiWiki::rcs_*` functions. See IkiWiki::RCS::Stub for the full list of functions. It's ok if `rcs_getctime` does nothing except for throwing an error. -See [[about_RCS_backends]] for some more info. +See [[RCS_details|rcs/details]] for some more info. ## PageSpec plugins diff --git a/doc/post-commit.mdwn b/doc/post-commit.mdwn index 84375dad0..5178df6e6 100644 --- a/doc/post-commit.mdwn +++ b/doc/post-commit.mdwn @@ -1,6 +1,7 @@ -A post-commit hook is run every time you commit a change to your -[[subversion]] (or [[git]] or [[mercurial]]) repository. To make the wiki be updated each -time a commit is made, it can be run from (or as) a post-commit hook. +If your wiki is kept in [[revision control|rcs]], a post-commit hook is run +every time you commit a change to your repository. To make the wiki be +updated each time a commit is made, it can be run from (or as) a +post-commit hook. The best way to run ikiwiki in a post-commit hook is using a wrapper, which ikiwiki is usually configured to generate using a setup file. diff --git a/doc/about_rcs_backends.mdwn b/doc/rcs/details.mdwn similarity index 98% rename from doc/about_rcs_backends.mdwn rename to doc/rcs/details.mdwn index 7af4a952e..b9b3c7ead 100644 --- a/doc/about_rcs_backends.mdwn +++ b/doc/rcs/details.mdwn @@ -8,7 +8,7 @@ A few bits about the RCS backends as opposed to using a editor and the RCS interface. -## [[Subversion]] +## [[svn]] Subversion was the first RCS to be supported by ikiwiki. @@ -182,7 +182,7 @@ please refer to [Emanuele](http://nerd.ocracy.org/em/) There is a patch that needs a bit of work linked to from [[todo/rcs]]. -## [Monotone](http://monotone.ca/) +## [[Monotone]] In normal use, monotone has a local database as well as a workspace/working copy. In ikiwiki terms, the local database takes the role of the master repository, and @@ -190,7 +190,7 @@ the srcdir is the workspace. As all monotone workspaces point to a default database, there is no need to tell ikiwiki explicitly about the "master" database. It will know. -The patch currently supports normal committing and getting the history of the page. +The backend currently supports normal committing and getting the history of the page. To understand the parallel commit approach, you need to understand monotone's approach to conflicts: @@ -216,7 +216,7 @@ will leave the repository with multiple heads. At this point, all data is saved The system then tries to merge the heads with a merger that will fail if it cannot resolve the conflict. If the merge succeeds then everything is ok. -If that merge failed then there are conflicts. In this case, the current patch calls +If that merge failed then there are conflicts. In this case, the current code calls merge again with a merger that inserts conflict markers. It commits this new revision with conflict markers to the repository. It then returns the text to the user for cleanup. This is less neat than it could be, in that a conflict marked diff --git a/doc/git.mdwn b/doc/rcs/git.mdwn similarity index 100% rename from doc/git.mdwn rename to doc/rcs/git.mdwn diff --git a/doc/mercurial.mdwn b/doc/rcs/mercurial.mdwn similarity index 100% rename from doc/mercurial.mdwn rename to doc/rcs/mercurial.mdwn diff --git a/doc/monotone.mdwn b/doc/rcs/monotone.mdwn similarity index 100% rename from doc/monotone.mdwn rename to doc/rcs/monotone.mdwn diff --git a/doc/subversion.mdwn b/doc/rcs/svn.mdwn similarity index 91% rename from doc/subversion.mdwn rename to doc/rcs/svn.mdwn index 7cb994c1a..cd35511c0 100644 --- a/doc/subversion.mdwn +++ b/doc/rcs/svn.mdwn @@ -1,7 +1,7 @@ [Subversion](http://subversion.tigris.org/) is a revision control system. While ikiwiki is relatively independent of the underlying revision control system, and can easily be used without one, using it with Subversion is recommended since it's how -the author uses it. ([[Git]] is another option.) +the author uses it. Ikiwiki can run as a [[post-commit]] hook to update a wiki whenever commits come in. When running as a [[cgi]] with Subversion, ikiwiki automatically diff --git a/doc/subversion/discussion.mdwn b/doc/rcs/svn/discussion.mdwn similarity index 100% rename from doc/subversion/discussion.mdwn rename to doc/rcs/svn/discussion.mdwn diff --git a/doc/tla.mdwn b/doc/rcs/tla.mdwn similarity index 86% rename from doc/tla.mdwn rename to doc/rcs/tla.mdwn index 4c2b9227c..cafd9b49b 100644 --- a/doc/tla.mdwn +++ b/doc/rcs/tla.mdwn @@ -6,3 +6,5 @@ Ikiwiki can run as a [[post-commit]] hook to update a wiki whenever commits come in. When running as a [[cgi]] with tla, ikiwiki automatically commits edited pages to the Arch repostory, and uses the Arch log to generate the [[RecentChanges]] page. + +Note that the tla support needs the [[cpan MailTools]] perl module. diff --git a/doc/recentchanges.mdwn b/doc/recentchanges.mdwn index 9613f2480..2e67f02e7 100644 --- a/doc/recentchanges.mdwn +++ b/doc/recentchanges.mdwn @@ -1,4 +1,3 @@ -ikiwiki generates the list of recent changes by examining the -history of the revision control system ([[Subversion]], etc) that the wiki -is configured to use. You have to have [[CGI]] set up for this feature to be -enabled. +ikiwiki generates the list of recent changes by examining the history of +the [[revision_control_system|rcs]] that the wiki is configured to use. You +have to have [[CGI]] set up for this feature to be enabled. diff --git a/doc/todo/git_attribution.mdwn b/doc/todo/git_attribution.mdwn index 21f5ed287..b75cad671 100644 --- a/doc/todo/git_attribution.mdwn +++ b/doc/todo/git_attribution.mdwn @@ -1 +1 @@ -When run with the [[Git]] backend, ikiwiki should use `GIT_AUTHOR_NAME` and `GIT_AUTHOR_EMAIL` rather than munging the commit message. Depending on the semantics you want to imply (does a web edit constitute a commit by the user or by the script?), it could also set `GIT_COMMITTER_NAME` and `GIT_COMMITTER_EMAIL` to the same values. --[[JoshTriplett]] \ No newline at end of file +When run with the [[rcs/Git]] backend, ikiwiki should use `GIT_AUTHOR_NAME` and `GIT_AUTHOR_EMAIL` rather than munging the commit message. Depending on the semantics you want to imply (does a web edit constitute a commit by the user or by the script?), it could also set `GIT_COMMITTER_NAME` and `GIT_COMMITTER_EMAIL` to the same values. --[[JoshTriplett]] diff --git a/doc/usage.mdwn b/doc/usage.mdwn index aba213f21..17be02044 100644 --- a/doc/usage.mdwn +++ b/doc/usage.mdwn @@ -130,20 +130,12 @@ configuration options of their own. Enable email notification of commits. This should be used when running ikiwiki as a [[post-commit]] hook. -* --rcs=svn, --no-rcs +* --rcs=svn|git|.., --no-rcs - Enable or disable use of a revision control system. + Enable or disable use of a [[revision_control_system|rcs]]. - If you use svn, the `source` directory is assumed to be - a [[Subversion]] working copy. - - If you use git, the `source` directory is assumed to be a clone of the - [[git]] repository. - - If you use tla, the `source` directory is assumed to be a tla import. - - If you use mercurial, the `source` directory is assumed to be the - [[mercurial]] repository. + The `source` directory will be assumed to be a working copy, or clone, or + whatever the revision control system you select uses. In [[CGI]] mode, with a revision control system enabled, pages edited via the web will be committed. Also, the [[RecentChanges]] link will be placed @@ -154,7 +146,7 @@ configuration options of their own. * --svnrepo /svn/wiki Specify the location of the svn repository for the wiki. This is required - for using --notify with [[Subversion]]. + for using --notify with [[Subversion|rcs/svn]]. * --svnpath trunk -- 2.32.0.93.g670b81a890