I can reproduce this by kicking off two simultaneous pushes of the same branch to the same location. They are both trying to create the same pack file. One of the succeeds first; the other will then probably see that the file already exists and its rename will fail. I guess the sftp rename error is too generic for bzr to understand that the problem is the destination file exists. It should be easy to teach it to check for that case.
I can reproduce this by kicking off two simultaneous pushes of the same branch to the same location. They are both trying to create the same pack file. One of the succeeds first; the other will then probably see that the file already exists and its rename will fail. I guess the sftp rename error is too generic for bzr to understand that the problem is the destination file exists. It should be easy to teach it to check for that case.
./bzr push sftp:// example/ ~/test example/ ~/test/ .bzr/repository /upload/ heip5l4m8068u54 8ad9q.pack' 48ad9q. pack': Failure: unable to rename to 'e26130c3dd7986 d4ddcd43d394536 7f9.pack' )
bzr: ERROR (ignored): 'sftp://
bzr: ERROR: Generic path error: 'heip5l4m8068u5