knit format support for pushing with FTP transport

Bug #42592 reported by asnt
8
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Medium
John A Meinel
bzr (Debian)
Fix Released
Unknown

Bug Description

The knit implementation expects a append() method which is not present in the FTP transport yet. Though, it should be doable with the standard 'APPE' FTP command.

Related branches

Revision history for this message
asnt (asnt) wrote : enable knit format pushing with ftp transport

Added an append() method using FTP 'APPE' command.

Modified copy() to deal well with relative paths (and not only with
absolute ones).

Modified mutter() and warning() calls throughout bzrlib/transport/ftp.py to pass format strings as arguments.

Revision history for this message
Michal Krenek (Mikos) (mikos) wrote :

I have tried this patch and it works without problems for me. Please merge it to bzr-dev. This issue really should be fixed in bzr 0.8.1, it is show-stopper for many people.

Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 42592] Re: knit format support for pushing with FTP transport

Michal Krenek (Mikos) wrote:
> I have tried this patch and it works without problems for me. Please
> merge it to bzr-dev. This issue really should be fixed in bzr 0.8.1, it
> is show-stopper for many people.
>

I have used an updated version of this patch (see the mailing list), and
applied it to the rest of my ftp fixes in:
http://bzr.arbash-meinel.com/branches/bzr/ftp-server

I just posted the whole thing for review, I'm guessing it will be merged
for 0.8.1.

John
=:->

Revision history for this message
John A Meinel (jameinel) wrote :

I applied the append fix in my ftp-server fixes, and fixed up a bunch of other FTP issues.
This has now been merged into bzr.dev as of revno 1724

Changed in bzr:
assignee: nobody → jameinel
status: Unconfirmed → Fix Committed
Changed in bzr:
status: Unknown → Unconfirmed
Revision history for this message
John A Meinel (jameinel) wrote :

There is still a problem if the server doesn't support APPE, but for compliant ftp servers, this works.

Changed in bzr:
status: Fix Committed → Fix Released
Revision history for this message
asnt (asnt) wrote :

What about falling back to a complete PUT of the data to the ftp server in case APPE is not supported?

I'll try to find time to do it but not shure it will be possible before next week.

Revision history for this message
John A Meinel (jameinel) wrote :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

alst wrote:
> What about falling back to a complete PUT of the data to the ftp server
> in case APPE is not supported?
>
> I'll try to find time to do it but not shure it will be possible before
> next week.
>

That is one possible solution. It would probably perform horribly in the
case of pushing multiple revisions.
Also, to do it safely requires downloading the remote file, doing a
local append, and then pushing it back up. Because the local file does
not necessarily have the full list of revisions that remote file has.

But it would be the difference between "I can't do this" and "I can do
this, but it is slow". So if you feel like implementing it, I think we
could merge it as a fallback condition.

John
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEtBTGJdeBCYSNAAMRAj//AKCZcIGGhHcLnvOZkum7clulnozJ5wCeJnY9
CV5W47lIQCgEFYyPt2TOP88=
=hAg3
-----END PGP SIGNATURE-----

Changed in bzr:
status: Unconfirmed → Confirmed
Changed in bzr:
status: Confirmed → Fix Released
Revision history for this message
kenden (kenden) wrote :

This is on Windows with Bazaar 1.2.0, the problem is still here.
I was trying to follow the document "Bazaar in five minutes" at:
http://doc.bazaar-vcs.org/bzr.dev/en/mini-tutorial/index.html

mkdir testbzr
cd testbzr

bzr init

edit foo.txt

bzr add foo.txt
 added testbzr
 added testbzr/foo.txt

bzr commit -m "1st commit"
Committing to: D:/DOCUME~1/user/
added testbzr
added testbzr/foo.txt
Committed revision 1.

bzr push --create-prefix ftp://<email address hidden>/bazaartest
FTP <email address hidden> password:
bzr: ERROR: No such file: '/bazaartest/.bzr/repository/upload/jcl73iitr48222n116a1.fetch': error appending: 500 'APPE': command unrecognized.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.