Thus said David Mason on Sun, 05 Oct 2014 11:05:27 -0400: > Absolutely. It should work fine and it's better than my original > shell-only version. I don't really want to do it that way for a couple > of reasons: 1) I don't want to *have* to be running a fossil server (I > do updates via ssh); and 2) it seems like a lot of overhead (execution > as well as "old version" files) and redundancy.
For 1, you don't have to run a fossil server, you can fetch RSS updates via SSH too: ssh user@remote fossil rss -R /path/to/project.fossil As for 2, yes, I suppose you will end up with potentially 2 extra files for each repo (1 if you rm the $NEW when there are no changes). That doesn't seem like much to me, but I understand others may think differently. I'll agree that it is not as optimal as having Fossil tell you when there are changes (well, actually fossil rss publishes changes so it is possible to detect differences in changes as my script shows, so that's not entirely accurate). > So instead of ``fossil update -q" I would write ``fossil update -s -n > >/dev/null". I think this is better as it's more incremental and also > more orthogonal. I think that if you use --dry-run, fossil update won't even sync; it is intended to show what would be updated to an existing name in the repository (e.g. fossil update -n branch5). This means it won't walk to the remote server and won't know about any changes. I could be wrong, but given that there currently is not a --dry-run for on-network sync operations, I believe that the challenge here will be to fake the sync protocol to the point where we know that there are changes, but don't send or receive any of the changes into the repository. Otherwise, you run into a different set of overhead problems (e.g. you pull down potentially large amounts of data, then rollback the commit for the sole purpose of reporting that there is data to be synced). Then we need to know what should be reported on. Do we report only if the list of artifacts that we have received includes direct descendents of our current checkout (which probably means parsing the manifests of those artifacts, which also implies that we have already downloaded those manifests)? Or take the simple approach and just report if there are new artifacts? Andy -- TAI64 timestamp: 4000000054322391 _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users