]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/tips/inside_dot_ikiwiki.mdwn
git: Do not disable commit hook for temporary working tree
[git.ikiwiki.info.git] / doc / tips / inside_dot_ikiwiki.mdwn
index 268910ebcdc75883ecf1aaac0732c39b358ef322..a74d00f473416b28512b769fa3239e0f551ea02e 100644 (file)
@@ -1,4 +1,4 @@
-[[meta title="inside .ikiwiki"]]
+[[!meta title="inside .ikiwiki"]]
 
 The `.ikiwiki` directory contains ikiwiki's internal state. Normally,
 you don't need to look in it, but here's some tips for how to do so if
@@ -6,9 +6,10 @@ you need/want to.
 
 ## the index
 
-`.ikiwiki/indexdb` contains a cache of information about pages, as well
-as all persisitant state about pages. It used to be a (semi) human-readable
-text file, but is not anymore.
+`.ikiwiki/indexdb` contains a cache of information about pages.
+This information can always be recalculated by rebuilding the wiki.
+(So the file is safe to delete and need not be backed up.)
+It used to be a (semi) human-readable text file, but is not anymore.
 
 To dump the contents of the file, enter a perl command like this.
 
@@ -63,3 +64,28 @@ To remove that user:
 I've not written actual utilities to do this yet because I've only needed
 to do it rarely, and the data I've wanted has been different each time.
 --[[Joey]]
+
+## the session database
+
+`.ikiwiki/sessions.db` is the session database. See the [[!cpan CGI::Session]]
+documentation for more details.
+
+## lockfiles
+
+In case you're curious, here's what the various lock files do.
+
+* `.ikiwiki/lockfile` is the master ikiwiki lock file. Ikiwiki takes this 
+  lock before reading/writing state.
+* `.ikiwiki/commitlock` is locked as a semophore, to disable the commit hook
+  from doing anything.
+* `.ikiwiki/cgilock` is locked by the cgi wrapper, to ensure that only 
+  one ikiwiki process is run at a time to handle cgi requests.
+
+## plugin state files
+
+Some plugins create other files to store their state. 
+
+* `.ikiwiki/aggregate` is a plain text database used by the aggregate plugin
+  to record feeds and known posts.
+* `.ikiwiki/xapian/` is created by the search plugin, and contains xapian-omega
+  configuration and the xapian database.