Как искать репозиторий SVN для файла, когда я не уверен, где я его разместил?
Сотрудник уверен, что он зарегистрировался в файле: foo_oustanding.dpr, но не уверен, когда/где (у нас есть много вспомогательных веток "tools" и "utility", множество ветвей проекта и т.д.
Мне нужен способ поиска по всему репозиторию для этого файла. Я могу проверить все дерево источников на моем HD, но это займет несколько часов. Есть ли более быстрый способ? Я попробовал браузер Repo (Tortoise), и у него не было поиска. Я также думал о том, чтобы сваливать журнал с самого начала. Но это казалось глупым.
В моем распоряжении я:
- Tortoise SVN 1.6
- Subversion 1.5.6 работает на Apache
Он работает на сервере Windows 2003.
- Доступ к удаленному рабочему столу на сервере с правами администратора.
Ответы
Ответ 1
Если он был проверен совсем недавно, вы можете сделать подробный удаленный svn log
с вершины дерева и просмотреть историю всех коммитов по всем ветвям. Затем вы можете выполнить grep вывод для файла и имени пользователя. (Для этого вам понадобится командная строка svn.)
svn log -v -l 500 http://myserver/svn_root
Ответ 2
Чтобы просмотреть список всех файлов, отправьте grep в текстовый файл в командной строке:
svn list -R myurl >> results.txt
Ответ 3
С клиентом Subversion 1.8+:
svn log -v URL-OF-REPO-ROOT --search foo_oustanding.dpr
Ответ 4
Хороший вопрос! Кажется, что в Tortoise не существует официальной функции "поиска", но, возможно, поиск в журнале TortoiseSVN для имен файлов может быть достаточно во многих случаях.
Ответ 5
Смотрите этот вопрос и ответы:
Поиск хранилища SVN
svnquery, вероятно, то, что вам нужно.
Ответ 6
Я выполняю поиск следующим образом:
svn list -R url_to_repo | grep Maintain.jar
Он выводит это:
trunk/Project/pkg/Release/Maintain.jar