understanding shared repo and push

Erik Bågfors zindar at gmail.com
Tue Aug 1 17:09:00 BST 2006


On 8/1/06, Davis, Jacob <Jacob_Davis at sra.com> wrote:
> > -----Original Message-----
> > From: bazaar-ng-bounces at lists.canonical.com
> > [mailto:bazaar-ng-bounces at lists.canonical.com] On Behalf Of
> > Wouter van Heyst
> > Sent: Tuesday, August 01, 2006 9:51 AM
> > To: bazaar-ng at lists.canonical.com
> > Subject: Re: understanding shared repo and push
> >
> > On Tue, Aug 01, 2006 at 09:27:13AM -0400, Davis, Jacob wrote:
> > > Hello,
> > >
> > > After reading http://bazaar-vcs.org/SharedRepositoryTutorial I was
> > > inspired to place configuration files for several machines
> > under bzr
> > > control. What I want to accomplish is to have a central
> > server with a
> > > shared repository that contains a directory for each client
> > machine.
> > > The idea is to allow an admin to modify configuration files on the
> > > central servers shared repository and "push" changes to the
> > individual
> > > repositories on the client machines. I have tried the following...
> > >
> > > - on client -
> > > $ cd /etc
> > > $ bzr init
> > > $ bzr add some_file.conf
> > > $ bzr commit -m "added file"
> > >
> > > - on central server -
> > > $ bzr init-repo --trees /bzr
> > > $ cd /bzr
> > > $ mkdir client; cd client
> > > $ bzr branch sftp://client/etc
> > > $ vi /bzr/client/etc/some_file.conf
> > > $ bzr commit -m "edited file"
> > >
> > > This all works great until I try to push the changes to the
> > client...
> > >
> > > $ bzr push sftp://client/etc
> > >  bzr: WARNING: This transport does not update the working tree of
> > > sftp://client/etc/
> > >
> > > The wording of the error makes me think that if I were to use
> > > something other then sftp, then the commend would work. Is that so?
> > > Is this behavior intentional or is there someway I can get
> > it to work
> > > the way I want other then simply copying the file to the client?
> >
> > Most transports don't allow pushing the workingtree, but you
> > could do it in the other direction, and issue pull from the
> > client machines. I believe Wouter Bolsterlee manages his
> > website deployments that way, using the update-mirrors plugin
> > on one machine to update a couple of branches. For your
> > situation, you could set up a script on the central machine
> > to ssh into all the client machines, and pull the right branch.
> > This does require bzr on the client though.
> >
> > Wouter van Heyst
>
>
> Thanks for the clarification and the suggestions Wouter.
> Another thought I had was to use checkouts instead of normal branches.
> Although I suppose that would still require one to ssh to the client and
> initiate an update before changes would show up in the client working
> directory.

The normal setup is to have a central repo on a server, that you
either branch or checkout from on the client.  Then on the client you
run your bzr commands. (commit, pull, etc)

Can you explain to me why you would do it the other way around? And
work the other way (by doing commit on the server and push to
clients?)

/Erik

-- 
google talk/jabber. zindar at gmail.com
SIP-phones: sip:erik_bagfors at gizmoproject.com
sip:17476714687 at proxy01.sipphone.com




More information about the bazaar mailing list