From mboxrd@z Thu Jan 1 00:00:00 1970 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] pull From: "Russ Cox" In-Reply-To: Date: Tue, 31 Jan 2006 13:55:18 -0500 Message-Id: <20060131185522.8B5E81E8C3B@holo.morphisms.net> Topicbox-Message-UUID: ed5d8678-ead0-11e9-9d60-3106f5b1d025 > Russ Cox wrote: > > I changed the way -c and -s work in pull > > I have a strange thing with the new pull: > > | # replica/pull -v -c 386/9pcf /dist/replica/network 386/9pcf > | stopped updating log apply time because of 386/bin/mkstate > | # > > But 386/bin/mkstate neither exists on sources nor on the local > filesystem. > > What's going on there? You can ignore this message if you want, but I print it to make you wonder what's going on. In this case, you should probably be running replica/pull -v -c 386/9pcf /dist/replica/network which will pull any files except skip past changes to 386/9pcf. What you typed: replica/pull -v -c 386/9pcf /dist/replica/network 386/9pcf will not pull any changes. It says "pull only files matching 386/9pcf (the last argument) but whenever you see a change to 386/9pcf, ignoring it in favor of the local version (the -c option)." At any point in time, replica/pull knows how much of /dist/replica/client/plan9.log it has successfully applied and can ignore on the next run. It stores this information in /dist/replica/client/plan9.time. Plan9.log is applied up to and including the line that begins with the numbers in plan9.time. If replica/pull reads through the log but cannot update plan9.time to mark that it has been through that part, then it prints something to tell you why. In this case, the part of the log yet to be applied mentions 386/bin/mkstate, and you've instructed replica/pull only to pay attention to log lines mentioning 386/9pcf, so it will not change plan9.time to say that the log is fully applied (it's not!). I'm sorry this is so confusing. I don't have a better way to explain it. The new -s and -c options make things so that you should never need to put arguments after /dist/replica/network on a pull command line. Russ