Erich, I don’t see
copy on write branches working conveniently for you in the
use-case you describe. Think about it: let’s say
\/etc/services\ is unchanged across all machines, so
when you add \12345/tcp myport\ to the master, you
would expect the physical file in the checkout on the other
machines to just change automatically, without a checkout. What you
want is for \/etc/services\ to be a
cross-network-symlink to the master file, until you write to it, at
which point is should become a regular file under version control.
I don’t know of any way to support this.
In your situation, you have two solutions to look at:
-
configure the machines to run a regular replay/merge/whatever with cron. you would need some sort of additional intelligence to deal with conflicts (e.g. reverse the merge and send mail) and handle restarting of daemons.
-
configure the master archive with hooks that push any changes to the other machines. This requires you to keep track of all machines from the master archive, and it sucks because of all the other reasons that push approaches suck.
I hope I am making sense, and sorry for the “it’s not possible”. I’d love to be shown wrong.

