Comment 1 for bug 197597

Revision history for this message
Stefan Monnier (monnier) wrote :

Actually, I don't really see why that would require a smart server verb.
The way I imagine it to work, it should work plenty fast over sftp.
What is it that makes it so slow?
The way I imagine it to work is that it basically does:
for entry in $(ls $url); do
   if [ ! -d $entry -o "." = $entry -o ".." = $entry ]; then
      :
   elif [ -d $entry/.bzr/branch ]; then
      echo $url/$entry
   else
      recurse on $url/$entry
done
So unless you have a lot of (and/or deep) unrelated directories in that area, I can't imagine what would make it take so long. Admitttedly, a smart server verb would avoid a lot of round-tripping, but all the -d test are independent so they shouldn't need to suffer that much from round-trip delays.