(note: this website is a fossil scm repository, learn more at

... is a tool for storing a three level deep hierarchical key store in flat text files while being able to edit the data with a spreadsheet. The flat files generated by refdb are quite resistant to conflicts on branch and merge in source control tools such as Fossil or Git.


Storing configuration data, test control data and so forth can be very convenient in a spreadsheet but spreadsheets cannot be easily modified in parallel and branched and merged in tools like fossil or git.



  1. Install chicken scheme from:
  2. Install the refdb egg: chicken-install refdb

Data format

Files with extension .dat contain the data for each sheet.

[column header]
rowlabel value

Run refdb for quick help

Run refdb from the commandline to get quick help:
> refdb
Usage: refdb action params ...

Note: refdbdir is a path to the directory containg sheet-names.cfg

  import filename.gnumeric refdbdir   : Import a gnumeric file into a txt db directory
  export refdbdir filename.gnumeric   : Export a refdb to a gnumeric file
  edit   refdbdir                     : Edit a refdbdir using gnumeric.
  ls refdbdir                         : List the keys for specified level 
  lookup refdbdir sheetname row col   : Look up a value in the text db   
  getrownames refdb sheetname         : Get a list of row titles
  getcolnames refdb sheetname         : Get a list of column titles

To export to other formats; first export to gnumeric then use ssconvert.


refdb export mydata mydata.gnumeric
ssconvert -T Gnumeric_html:html40 mydata.gnumeric mydata.html 
Part of the Megatest tool suite. Learn more at

Version: 1.0