Подверсия: Проверьте только те файлы, затронутые во время определенной фиксации

Конечно, это не потому, что все является объектом , потому что это верно и для ряда других языков (например, Ruby). Нет никаких причин, почему Perl 6 должен был бы быть на несколько медленнее, чем другие языки, такие как Perl 5 или Ruby, но факт в том, что Rakudo не настолько зрел, как Perl или CRuby. Оптимизация скорости еще не проводилась.

16
задан Zoe 10 November 2017 в 20:32
поделиться

8 ответов

Я думаю, что проверка Subversion может проверять только определенную папку, а не отдельные файлы. Тем не менее, команда:

svn log -r *revision* -q -v

перечислит изменения, связанные с указанной ревизией, чтобы вы могли обработать вывод этой команды, чтобы помочь скопировать нужные файлы куда-нибудь после проверки рабочей папки для всего каталога.

12
ответ дан 30 November 2019 в 21:29
поделиться

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 -r.

1
ответ дан 30 November 2019 в 21:29
поделиться

Я знаю, что это немного оффтоп, но я использую TRAC для этого, и он экспортирует только файлы изменен между 2 версиями как zip-архив с файлами в их исходной структуре каталогов.

2
ответ дан 30 November 2019 в 21:29
поделиться

Вы можете проверить список затронутых файлов, используя svn log -q -v -r123 url .

Если вы действительно хотите получить только затронутые файлы, вы можете используйте svn cat urlToFile -r123> myfile для каждого файла.

1
ответ дан 30 November 2019 в 21:29
поделиться

Я думаю, что вы, возможно, используете здесь термин «проверить» в его CVS-смысле, то есть «svn update». Это верно?

Если да, то вы можете обновить до конкретной ревизии, которую хотите:

svn update -r12345

или даже только эти файлы до этой ревизии:

svn update -r12345 file1 file2 file3

, хотя вам придется получить список файлов из svn используя некоторые другие предложения.

2
ответ дан 30 November 2019 в 21:29
поделиться

Если вы используете последнюю версию svn, вы можете извлечь пустую папку, а затем обновить определенные файлы.

после получения списка файлов для выбора,

svn co --depth=empty url dest
cd dest
svn up file1 file2 file3

Изменить: почти такое же решение, что и принятый ответ здесь: Оформить заказ на один файл из Subversion

1
ответ дан 30 November 2019 в 21:29
поделиться

Вы можете получить только список файлов в конкретном изменении, используя

svn log -v -q -r rev

Затем вы можете убрать маркеры на передней панели строка с конвейером вида

sed -e "s / ^. / /" | egrep -v "Изменены пути: | -----"

. Чтобы получить только файлы, вы, вероятно, должны использовать svn cat , как предложил Николай.

[отредактировано для очистки и упрощения конвейера sed.]

0
ответ дан 30 November 2019 в 21:29
поделиться

Простите, что воскресил давно умерший вопрос, но я так и не получил удовлетворительного ответа.

Вы можете создать простой инструмент, который сделает это за вас, используя SVNKit. Я нашел этот блог об этом и немного изменил код для своих нужд. Я использую его по сей день в процессе развертывания.

Это экспорт, а не проверка, но я уверен, что это будет простое изменение.

0
ответ дан 30 November 2019 в 21:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: