Newbie question - how to publish my repository

Paul Moore p.f.moore at gmail.com
Mon Jul 30 20:14:28 BST 2007


On 30/07/07, Martin Pool <mbp at sourcefrog.net> wrote:
> If you have sftp access to your server, then just do
>
>   bzr init-repo sftp://user@host/~/myproject
>   bzr push sftp://user@host/~/myproject/mybranch

Thanks. I don't have SFTP unfortunately, only FTP. But I tried with just FTP
and things *nearly* worked. The init-repo was fine, (I couldn't use ~, so I
used an absolute path) but the push failed with an error:

FTP temporary error: 451
/docroot/testproject/.bzr/repository/inventory.knit: Append/Restart
not permitted, try again. Retrying.
FTP temporary error: 451
/docroot/testproject/.bzr/repository/inventory.knit: Append/Restart
not permitted, try again. Retrying.
FTP temporary error: 451
/docroot/testproject/.bzr/repository/inventory.knit: Append/Restart
not permitted, try again. Retrying.
bzr: ERROR: Transport error: FTP temporary error during APPEND
/docroot/testproject/.bzr/repository/inventory.knit.
Aborting. 451 /docroot/testproject/.bzr/repository/inventory.knit:
Append/Restart not permitted, try again

Worse, when I went to tidy up, I find that the files on the server are not
deleteable - they show as having owner and group of "(?)".

I'm guessing that this means either FTP isn't supported, or (more likely) my
ISP isn't supporting some key feature...

On 30/07/07, Aaron Bentley <aaron.bentley at utoronto.ca> wrote:
> The command to create/update a remote branch is 'bzr push'.  It supports
> ftp and sftp  (most servers providing ssh also provide sftp).  There's
> also a beta plugin for WebDAV support.

My experiments (above) seem to indicate that FTP is broken somehow at my ISP
:-(

> You can also use rsync, or pretty much any uploading tool that works
> with your provider.

My client is Windows (ie, tool-poor by default) so I want to keep to things
that bzr supports internally. But by this comment, are you implying that
simply copying a bzr repository acts the same as a push? Surely not - what
about conflicts?

> Personally, I use a shared repository with the --no-trees option, so I
> use rsync to mirror the whole shared repository at once.

I wasn't sure I understood what this meant, so I went hunting. The shared
repository tutorial on the wiki helped, but I think I see a problem. The
assumption there (which I infer from the fact that the "Checkouts" section
talks about unbinding and working locally) seems to be that the shared
repository is permanently available. This is *not* true for me in at least one
environment - I have access to the repository, but only when I do some
firewall tweaks (which I can't leave in place).

Looking at the "Workflows" page, I'd say that I expect to work in the
"Decentralized with shared mainline" model, but with the developers (me, at a
number of locations :-)) normally offline from the mainline. The problem is, I
don't see a discussion anywhere of best practices for setting Bazaar up to
support the various workflows. I'm sure I saw something like this once before,
but I can't find it now :-(

Thanks for the comments - I'm getting a better picture, but I suspect I still
have some way to go! Assuming I reach a point where I do understand all of
this, would contributions to the wiki be useful?

Paul.



More information about the bazaar mailing list