upgrade fails over ftp
Bug #281325 reported by
Jelmer Vernooij
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Breezy |
Won't Fix
|
Low
|
Unassigned |
Bug Description
charis:~/foo% bzr upgrade ftp://rhonwyn/
Authenticated as <email address hidden>
Format <RepositoryForm
starting upgrade of ftp://rhonwyn/
making backup of tree history
bzr: ERROR: Generic path error: './branch/lock': error with list_dir: 550 No files found.
)
Related branches
lp:~jelmer/brz/no-more-ftp
- Vincent Ladeuil: Approve
- Martin Packman: Approve
-
Diff: 1510 lines (+17/-1308)16 files modifiedbreezy/help_topics/en/authentication.txt (+3/-3)
breezy/lockdir.py (+0/-3)
breezy/plugins/git/tests/test_dir.py (+1/-1)
breezy/plugins/upload/__init__.py (+1/-1)
breezy/plugins/upload/tests/test_upload.py (+1/-25)
breezy/tests/__init__.py (+0/-6)
breezy/tests/blackbox/test_help.py (+0/-2)
breezy/tests/ftp_server/__init__.py (+0/-82)
breezy/tests/ftp_server/pyftpdlib_based.py (+0/-223)
breezy/tests/test_ftp_transport.py (+0/-151)
breezy/tests/test_http.py (+2/-2)
breezy/tests/test_smart_transport.py (+1/-1)
breezy/tests/transport_util.py (+8/-19)
breezy/transport/__init__.py (+0/-23)
breezy/transport/ftp/__init__.py (+0/-638)
breezy/transport/ftp/_gssapi.py (+0/-128)
tags: | added: ftp upgrade |
tags: | removed: upgrade |
tags: | added: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Low |
tags: | removed: check-for-breezy |
Changed in brz: | |
milestone: | none → 3.0.0 |
status: | Triaged → Won't Fix |
To post a comment you must log in.
This is a known problem with some FTP servers. Basically, instead of returning the empty list when there are no files in a directory, they instead raise a 550 error. The problem is that they strings are not generally helpful as they vary wildly based on the ftp server, and 550 can mean a lot of things. For example: support. ipswitch. com/kb/ WS-20000817- DM02.htm support. ipswitch. com/kb/ WS-20010403- DM01.htm
550 Permission denied
http://
versus
550 No such file
http://
According to the second link 550 is supposed to be a permission error. And it is a bit rude of them to treat "no files in directory" as a permission problem.
Do you know the FTP server which is on "rhonwyn"?
A while back we encountered this with a 450 error. We have this code in "bzrlib/ transport/ ftp/__init_ _.py" lower() .startswith( '450 no files found'):
str(e) )
except ftplib.error_temp, e:
# xs4all's ftp server raises a 450 temp error when listing an empty
# directory. Check for that and just return an empty list in that
# case. See bug #215522
if str(e).
mutter('FTP Server returned "%s" for nlst.'
' Assuming it means empty directory',
return []
raise
So either
a) You have a permission issue on that directory or
b) It is given a bogus error rather than just saying there isn't anything ther.
I'm also really surprised that .bzr/branch/lock is failing. As we never have a cause (that *I* know of) to list that directory. We *do* a list on .bzr/repository /obsolete_ packs which is where this came up in the past.