I have a server that has a working directory I want to keep current
(because it's web pages that I edit elsewhere).

I want a script to run every 5 minutes and if there is any update,
email me the update log.  But I don't want email every 5 minutes that
just says everything is up to date.  I can figure out using file
timestamps etc. if an update is necessary, but that's pretty ugly.
What would be much nicer would be:

    fossil update -q && fossil update 2>&1 | mail -s 'Fossil update' m...@he.re

Given that fossil knows if there is anything to be done, and how fast
fossil is, this would work very well, IF there were a quiet switch
that returned success if there was work to do, and false if
up-to-date, but never actually updated anything or produced any
output.  This is similar to the -n switch and grep's -q switch.

If someone had a server that wasn't the master repository, sync should
also have such a switch, so you could say:

    fossil sync -q && fossil update -q && fossil update 2>&1 | mail -s
'Fossil update' m...@he.re

Note that sync shouldn't produce any output, returning false if there
is no saved sync source.  Then you could update all by:

    for fossil in `fossil all ls -c`
    do
        cd $fossil
        fossil sync -q && fossil update -q && (fossil sync;fossil
update) 2>&1 | mail -s "Fossil update of $fossil" m...@he.re
    done

If this is trivial for someone who knows the source well, Great!  If
not I can try to figure it out and produce a patch.

While I'm on fossil sync, is there a way to reset the "sync source"
value?  For whatever reason (actually because it was easier to update
privileges on my laptop than my headless server) I copied a "client"
fossil to the server and now if I try to "fossil sync" on the server
it tries to log into itself.

Thanks  ../Dave
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to