<h2>RefDB</h2>

(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.

<h4>Motive</h4>

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.

<h4>Information</h4>
  *  [Release Notes]
  *  [Usage]
  *  [Accessing the data]

<h4>Installation</h4>

  #  Install chicken scheme from:
  #  Install the refdb egg: chicken-install refdb

<h4>[Data format]</h4>

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

<verbatim>
[column header]
rowlabel value
</verbatim>

<h4>Run refdb for quick help</h4>
Run refdb from the commandline to get quick help:

<verbatim>
> 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.

e.g.

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
</verbatim>