Как я могу выполнить поиск, если файл с именем foo.txt
когда-либо был привязан к моему репозиторию SVN (в любой редакции)?
Как я могу искать репозиторий svn для существования файлов в любой редакции
Ответ 1
Щелкните правой кнопкой мыши по выгруженному корню папки > TortoiseSVN > Показать журнал
Вы также можете ввести имена файлов.
Ответ 2
Это должно сработать для вас:
svn log -r 0:HEAD -v $REPOSITORY_PATH | grep "/foo.txt"
Это даст вам пути к файлам и состоянию из журнала. Если вы получаете какие-либо хиты, вы знаете, что они существовали в какой-то момент. Если вы не получите никаких результатов, в любом репозитории в любой редакции ничего не найдено. Вы также увидите состояния из каждой строки журнала, например:
A /some/path/foo.txt D /some/path/foo.txt
Но я предполагаю, что дополнительная информация для вас не проблема.:)
Ответ 3
Используйте клиент Subversion 1.8+ и новые --search
и --search-and
параметры становятся доступными для команды svn log
. Эти параметры не позволяют выполнять полнотекстовый поиск внутри репозитория и просматривают только следующие данные:
- автор версии (
svn:author
неверсифицированное свойство), - date (
svn:date
неверсированное свойство), - текст сообщения журнала (
svn:log
неверсифицированное свойство), - список измененных путей (т.е. путей, затронутых конкретной версией).
Насколько я понимаю, вы можете найти "foo.txt" со следующей командной строкой:
svn log -v --search "foo.txt"
.
Вот страница справки об этих новых параметрах поиска svn 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 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.