Automatic Saving

Linas Vepstas linas@linas.org
Fri, 3 Jan 2003 12:50:37 -0600


On Fri, Jan 03, 2003 at 09:51:37AM -0800, W Pennington was heard to remark:
> GnuCash 1.6.6
> 
> Is there a feature for saving changes every ___ minutes?

Not currently.

> If not, is there an appropriate forum for feature requests?

gnucash-devel mailing list is better.

---------
I suppose the time has come for something like this.  I just implemented
something like this for GnoTime (gttr.sourceforge.net)

It saves once a minute for the first 4 minutes, then once every 4
minutes for the first 16 minutes, then once every 16 minutes for 
the first 64 minutes, etc., forever.  There is nothing to adjust,
there is nothing to configure, and the old copies are pruned
automatically.  Because of the logarithmic distribution, it means that
even if you run for years, you won't have more than 20 or so backup
copies (viz. every 4 months for the first 16 months, etc).

The algorithm seems safe: the code never actually deletes files,
it only renames them: The pruning works by copying a newer file on top
of an older file.  Thus, even if the app goes totally wacko, it can't
wack much: there's no chance of an 'rm *' happening by accident.

I think something like this would defacto server the (vast?) majority
of GnuCash users.   What I don't know is if there is anybody who thinks
the current scheme is better?

BTW the current scheme was designed so that it did the following:
a) Avoid accidental 'rm -r' by never actually rm'ing
b) backup filename has datestamp, pid and ipaddr in it, to avoid 
   accidental over-write by same user, by other users logged onto
   same machine, or same/other users working over NFS.

   (By contrast, the new proposed scheme intentionally over-writes
   as a means of pruning back old copies.)
c) Saves are done by user, so that if user really screws something up
   (e.g. deleting an account tree) they can get out of it by not saving.


So -- should the old scheme be replaced by the new scheme?

--linas


-- 
pub  1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas@linas.org>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984  3F54 64A9 9A82 0104 5933