Конечно, это не потому, что все является объектом , потому что это верно и для ряда других языков (например, Ruby). Нет никаких причин, почему Perl 6 должен был бы быть на несколько медленнее, чем другие языки, такие как Perl 5 или Ruby, но факт в том, что Rakudo не настолько зрел, как Perl или CRuby. Оптимизация скорости еще не проводилась.
Я думаю, что проверка Subversion может проверять только определенную папку, а не отдельные файлы. Тем не менее, команда:
svn log -r *revision* -q -v
перечислит изменения, связанные с указанной ревизией, чтобы вы могли обработать вывод этой команды, чтобы помочь скопировать нужные файлы куда-нибудь после проверки рабочей папки для всего каталога.
svn checkout
only works at the directory level, not the file level. Of course, if all the changes in a specific changeset were from the same directory, then you can perform the svn checkout
.
Я знаю, что это немного оффтоп, но я использую TRAC для этого, и он экспортирует только файлы изменен между 2 версиями как zip-архив с файлами в их исходной структуре каталогов.
Вы можете проверить список затронутых файлов, используя svn log -q -v -r123 url
.
Если вы действительно хотите получить только затронутые файлы, вы можете используйте svn cat urlToFile -r123> myfile
для каждого файла.
Я думаю, что вы, возможно, используете здесь термин «проверить» в его CVS-смысле, то есть «svn update». Это верно?
Если да, то вы можете обновить до конкретной ревизии, которую хотите:
svn update -r12345
или даже только эти файлы до этой ревизии:
svn update -r12345 file1 file2 file3
, хотя вам придется получить список файлов из svn используя некоторые другие предложения.
Если вы используете последнюю версию svn, вы можете извлечь пустую папку, а затем обновить определенные файлы.
после получения списка файлов для выбора,
svn co --depth=empty url dest
cd dest
svn up file1 file2 file3
Изменить: почти такое же решение, что и принятый ответ здесь: Оформить заказ на один файл из Subversion
Вы можете получить только список файлов в конкретном изменении, используя
svn log -v -q -r rev
Затем вы можете убрать маркеры на передней панели строка с конвейером вида
sed -e "s / ^. / /" | egrep -v "Изменены пути: | -----"
. Чтобы получить только файлы, вы, вероятно, должны использовать svn cat
, как предложил Николай.
[отредактировано для очистки и упрощения конвейера sed.]
Простите, что воскресил давно умерший вопрос, но я так и не получил удовлетворительного ответа.
Вы можете создать простой инструмент, который сделает это за вас, используя SVNKit. Я нашел этот блог об этом и немного изменил код для своих нужд. Я использую его по сей день в процессе развертывания.
Это экспорт, а не проверка, но я уверен, что это будет простое изменение.