From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <39bddd2e5512517de264f35ab6e88af1@plan9.bell-labs.com> To: 9fans@cse.psu.edu Subject: Re: [9fans] replica (was: ipv6) From: rsc@plan9.bell-labs.com MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Date: Tue, 28 May 2002 18:19:56 -0400 Topicbox-Message-UUID: 9ee1316c-eaca-11e9-9e20-41e7f4b1d025 > So I can get incompatible files in 'partial' updates: > - current log tells me I need foo.h and foo.c > - pull gets foo.h > - someone updates foo.h and foo.c (but wont enter log until next > cron run) > - pull then gets (newer) foo.c Damn! I failed to confuse you. ☺ Yes, you're absolutely right. > I've now got a wrong foo.h/foo.c pair and they wont compile. > > My foo.h is correct as per the log info > Pull can spot that foo.c is more up to date but without > dependency info cannot determine that it needs to re-fetch foo.h Yes. > This is resolved by re-running pull after the next log update. > This raises two questions: > How do I know when the log is up to date (mk scan has run)? You have to trust us to run mk scan after we make changes. If, after pulling, you run date `{tail -1 /dist/replica/client/plan9.log | awk '{print $1}'} and that was more than half an hour ago, then you have everything we've put out on sources. We use a script that pushes the changes over en masse, so we're talking maybe a second between updates, not large amounts of time. > How do I know if I have to schedule a new pull because I got a > 'partial' update? You don't, really. That would require predicting the future. At the time you disconnected, there was no way to know that, say, foo.c was going to get changed two minutes later. Still, if you just did a pull and didn't get any changes less than half an hour old (run the date command above for the time of the last change), you've probably got a decent set, even assuming we forgot to run mk scan manually. We usually mention the big change sets on 9fans; that's a reasonable way to know when there are big things waiting to be picked up. If you find something that you think is wrong, you can always ask on 9fans. Sometimes we just miss files, though we've got tools that try to keep that from happening. Let us know. Russ