herkforth source code management
There are a couple ways to keep track of your code changes in herkforth.
Firstly you can press SHIFT-S to bootstrap and save. This compiles a forth kernel and saves that, the dictionary, data, and source to a new ELF file. You will get some strange file names if you do this too many times.
Secondly you can export the sources to a bunch of ascii files. (See herkforth export source for details.)
There are a couple little scripts to help work with these files. One called
./changes
shows you a universal diff of the differences between the files
in the blocks/
directory and in the out/
directory. You can apply these
changes to the blocks
directory (where they can be used to build
herkforth) with ./apply
Note: the ./changes and ./apply scripts ignore changes to variable values. This
only seems to cause trouble when you add a new block with the new-block
word. In this case you will have to make sure the change to num-blocks
carries through to blocks/000
.
There is a handy script ./t
which attempts to run the most recent version
of the source you have around, and clear out the clutter from previous
versions. Note that it will delete forth? if any of the dependancies for
building herkforth000 are changed.
If you make changes that you would like to see in the main version of herkforth contact Jason Woofenden