Attached is a script file for the Windows command-line FTP client, which reproduces this precise issue. In general, the result is that the script suceeds in retrieving the info file with the final get command - it clearly should not, because it's parent folder ought to have previously been renamed and deleted. The log produced in this case is the following: 230 User alexreg-repos logged in. ftp> mkd /texdotnet 257 "/texdotnet" directory created. ftp> mkd /texdotnet/.bzr 257 "/texdotnet/.bzr" directory created. ftp> mkd /texdotnet/.bzr/branch-lock 257 "/texdotnet/.bzr/branch-lock" directory created. ftp> mkd /texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp 257 "/texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp" directory created. ftp> put info /texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp/info 200 PORT command successful. 150 Opening ASCII mode data connection for /texdotnet/.bzr/branch-lock/0u7zlmi2u e.tmp/info. 226 Transfer complete. ftp: 115 bytes sent in 0.14Seconds 0.82Kbytes/sec. ftp> rename /texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp /texdotnet/.bzr/branch-lo ck/held 350 File exists, ready for destination name 250 RNTO command successful. ftp> get /texdotnet/.bzr/branch-lock/held/info info-got 200 PORT command successful. 150 Opening ASCII mode data connection for /texdotnet/.bzr/branch-lock/held/info (115 bytes). 226 Transfer complete. ftp: 115 bytes received in 0.00Seconds 115000.00Kbytes/sec. ftp> rename /texdotnet/.bzr/branch-lock/held /texdotnet/.bzr/branch-lock/releasi ng.jxclhhpmuppakcm6gbz7.tmp 350 File exists, ready for destination name 250 RNTO command successful. ftp> delete /texdotnet/.bzr/branch-lock/releasing.jxclhhpmuppakcm6gbz7.tmp/info 250 DELE command successful. ftp> rm /texdotnet/.bzr/branch-lock/releasing.jxclhhpmuppakcm6gbz7.tmp/info 550 /texdotnet/.bzr/branch-lock/releasing.jxclhhpmuppakcm6gbz7.tmp/info: The sys tem cannot find the file specified. ftp> rmd /texdotnet/.bzr/branch-lock/releasing.jxclhhpmuppakcm6gbz7.tmp 250 RMD command successful. ftp> get /texdotnet/.bzr/branch-lock/held/info 200 PORT command successful. 150 Opening ASCII mode data connection for /texdotnet/.bzr/branch-lock/held/info (115 bytes). 226 Transfer complete. ftp: 115 bytes received in 0.00Seconds 115000.00Kbytes/sec. ftp> quit 221 As previously suggested, this would seem to imply one of two things: * The rename and/or delete commands report success before their operations have actually concluded. * The directory that exists before the rename/delete is cached, and the FTP server is using this cache for the final get command, hence its unexpected success. On many occasions however, the script does not even finish, seemingly due to a failed attempt to open a data connection. 230 User alexreg-repos logged in. ftp> mkd /texdotnet 257 "/texdotnet" directory created. ftp> mkd /texdotnet/.bzr 257 "/texdotnet/.bzr" directory created. ftp> mkd /texdotnet/.bzr/branch-lock 257 "/texdotnet/.bzr/branch-lock" directory created. ftp> mkd /texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp 257 "/texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp" directory created. ftp> put info /texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp/info 200 PORT command successful. 150 Opening ASCII mode data connection for /texdotnet/.bzr/branch-lock/0u7zlmi2u e.tmp/info. 226 Transfer complete. ftp: 115 bytes sent in 0.18Seconds 0.65Kbytes/sec. ftp> rename /texdotnet/.bzr/branch-lock/0u7zlmi2ue.tmp /texdotnet/.bzr/branch-lo ck/held 350 File exists, ready for destination name 250 RNTO command successful. ftp> get /texdotnet/.bzr/branch-lock/held/info info-got 500 Invalid PORT Command. 150 Opening ASCII mode data connection for /texdotnet/.bzr/branch-lock/held/info (115 bytes). I do however suspect this may be an unrelated issue. (I seem to remember encountering it before with other servers, using Windows FTP client.)