There is a special database table called 'config' that has some configuration options. You can see what the options are set to by doing 'tup config'. You can set an option by doing something like 'tup config db_sync 0'. The important ones are:

Option'Tis
db_sync0: Disables the synchronous feature of sqlite.
1: (default) Enables the synchronous feature of sqlite.
Basically, if this is disabled then writes are left un-synced to disk, so it is possible if your power cuts out in the middle of writing the data then the tup database could be hosed. See sqlite's info on it here: http://www.sqlite.org/pragma.html (look for "PRAGMA synchronous"). If the db got hosed you would probably have to 'rm -rf .tup' and re-do 'tup init'. But if you have a UPS or something, this would make it go a lot faster and not kill your hard disk.
autoupdate0: (default) Does not autoupdate. You have to type 'tup upd' to update when you're ready.
1: Autoupdates whenever the monitor detects a file change.
If you're editing source code (like, multiple C and .h files), you probably want autoupdate off. Otherwise you might change a header, and then not have time to update the C file before the monitor kicks off an update. However, if you have a simple tup setup where you're converting a bunch of text files into html or something, you might save some time if you set autoupdate. Then whenever you save the text file, it will automatically be converted to its corresponding html file.

The not-so-important options are:

Option'Tis
show_progress0: Doesn't show the progress bar.
1: (default) shows a progress bar. Well, maybe two progress bars, if a Tupfile had to be parsed.
I don't know why you'd want this off, or even if the output is non-stupid when it's off. I never have it off. Really I was just trying to come up with ideas for things you could have as options, and this is what I got. Sad, I know.
keep_going0: (default) The updater stops at the first error.
1: The updater tries to build as much as it can. Anything dependent on the output of a failed command still won't run.
This is kinda like make's -k option, only if you want to set that semi-permanently, you could set it here. You can also pass -k or --keep-going to the updater to enable that as a one-time thing. Or --no-keep-going if you have this flag set to 1 and don't want to keep going for some reason. I don't know why that would ever happen though. Hey, it came down to this, or adding something useful. I chose this.
db_versionThe version number of the tup database. I think I put this in so if I change the database schema, it could auto-update the db for you, or at least whine if it doesn't match.
monitor_pidThe pid that the monitor is currently running as. Or may be running as. If the monitor was killed somehow this may not get un-set. So it's not necessarily entirely accurate. In fact, I don't know why it's in there anymore. The 'tup stop' command to kill the monitor doesn't even use it.