Smart server problem

John Arbash Meinel john at arbash-meinel.com
Wed Jan 30 14:18:15 GMT 2008


Panagiotis Papadakos wrote:
> Hi.
> 
> I have set up a smart server through inetd with 
> --directory=/home/lala/bzr-repo which is
> my repository.
> 
> A branch in my repo is branch1 and
> bzr branch bzr://host/branch1
> works as expected.
> 
> The problem that I am facing is that, pushing with
> bzr push bzr+ssh://login@host/branch1
> fails with the following message:
> 
> bzr: ERROR: Parent directory of bzr+ssh://login@host/branch1 does not 
> exist.
> 
> but bzr push bzr+ssh://login@host/home/lala/bzr-repo/branch1 works.
> 
> What am I missing? Thanks.
> 
>     Panagiotis Papadakos
> 
> 

You are using "bzr://" in one form and "bzr+ssh://" in the other.

When you use "bzr://" it talks over your inet connection and uses 
whatever directory you set up (in this case /home/lala/bzr-repo is the 
"root" directory.)

When you push over "bzr+ssh" it connects over ssh and spawns its own bzr 
process and talks to it through the ssh connection. It knows nothing 
about your inet setup, and it would be expected that your root would be 
the global filesystem root, so that you could access any branch on the 
remote filesystem.

There are two possibilities:

1) Keep using "bzr://host/branch1" when you need anonymous access, and 
"bzr+ssh://host/home/lala/..." when you want write access.

2) Add "--allow-writes" to your inetd config. That will let you push to 
"bzr://host/branch1". However the "bzr://" protocol doesn't do 
authentication (we expect it to be done by the upper level).

3) Use bzr+ssh always

John
=:->



More information about the bazaar mailing list