Как найти все коммиты (номера ревизий), в которых файл был удален / перемещен в SVN

Мне нужно найти все удаленные файлы из SVN. После этого проверьте, нужно ли восстановить файл. Если да, то восстановить. Как я это сделал. Я знаю, что могу восстановить удаленный файл, но для этого нужны номера ревизий.

1 ответ

Решение

Ты можешь использовать svn log --search (доступно начиная с SVN 1.8), чтобы найти ревизию, в которой был удален конкретный файл, а затем восстановить его.

Следующая команда найдет ревизии, где MyProject/MyForm.cs Файл был удален.

svn log -v --search "MyProject/MyForm.cs" --search-and "D" http://svn.example.com/svn/MyRepository

Я не вижу описания нового --search аргумент в SVNBook, включая справку командной строки для вашей справки (проверьте svn help log для дополнительной информации):

 If the --search option is used, log messages are displayed only if the
 provided search pattern matches any of the author, date, log message
 text (unless --quiet is used), or, if the --verbose option is also
 provided, a changed path.
 The search pattern may include "glob syntax" wildcards:
     ?      matches any single character
     *      matches a sequence of arbitrary characters
     [abc]  matches any of the characters listed inside the brackets
 If multiple --search options are provided, a log message is shown if
 it matches any of the provided search patterns. If the --search-and
 option is used, that option's argument is combined with the pattern
 from the previous --search or --search-and option, and a log message
 is shown only if it matches the combined search pattern.
 If --limit is used in combination with --search, --limit restricts the
 number of log messages searched, rather than restricting the output
 to a particular number of matching log messages.
Другие вопросы по тегам