при глубине вложенности порядка 11-12 svn update падает (segfault). Единственный выход -- svn cleanup, зайти поглубже в дерево и сделать svn update там. В случае, если файлов извлекать не надо, то svn update работает при любой вложенности.
А можно тесткейс как получить такой segfault? И если не сложно - можете закинуть в апстим?
Тесткейс элементарный: #!/bin/sh mkdir 1 svnadmin create 1 mkdir 2 svn co file://`realpath 1` 2 mkdir -p 2/1/2/3/4/5/6/7/8/9/10/11/12 svn add 2/1 svn commit -m '' 2 svn co file://`realpath 1` 3 кинуть в апстрим не могу.
На 1.2.0 проявляется, на 1.2.1 не проявляется. Похоже, придется закидывать в сизиф 1.2.1 с оторванными perl-bindings...
Кстати, на 1.2.1 есть более другие баги, проявляющиеся при больших уровнях вложенности: 1. при слишком больших уровнях вложенности svn не может прочитать собственный файл описания изменения в транзакции (во время коммита): svn: Commit failed (details follow): svn: Can't read length line in file '<censored>/1/db/transactions/0-1.txn/node._7t.0' (обламывается на уровне 282) 2. Если 1й баг не проявляется (например, при 280 вложенных каталогах), то во время собсно коммита память кушается нещадно. Для коммита используется вся память и своп на машине с 384М RAM + 128M swap. Но данне баги, думаю, пока можно считать минорными. =====#!/bin/sh mkdir 1 svnadmin create 1 mkdir 2 svn co file://`realpath 1` 2 DIRS=`seq 1 285|xargs echo|tr ' ' '/'` mkdir -p "2/$DIRS" svn add 2/1 svn commit -m '' 2 svn co file://`realpath 1` 3 =========
Исправлено в 1.2.1-alt1
А.. Ну глюки при уровне вложенности больше нескольких десятков как-то мало волнуют :)