У нас есть массовый репозиторий для кода, содержащий тысячи папок и подпапок, я хочу искать в этом репозитории с именем файла или с каким-либо словом.
Root folder
a\
b\
c\
d\
e\
f\ab\
f\ab\cd.txt
Я хочу найти cd.txt, но не знаю, где он находится в репозитории SVN, для этого я хочу выполнить поиск в корневой папке SVN, где я помещаю имя файла cd.txt и запускаю команду, проверю каждую папку и отобразит результат подробностей файла ....
Требование надежды ясно. Не могли бы вы помочь мне в этом.
Ответы:
Если файл находится в вашей рабочей копии, то при использовании svn 1.5:
или более ранняя версия svn:
Если вам нужно найти файл в истории (удален или перемещен):
и найдите его с помощью:
источник
... | select-string <filename>
вместоgrep
.... | find "<filename>"
также будет работать как замена grep. ПРИМЕЧАНИЕ .svn co --depth empty REPOURL RepoDir
,cd RepoDir
аsvn list --depth infinity
затем получить все пути к файлам с сервера SVN (возможно, создав миллионы строк, если у вас их миллионы).Для меня работает следующее (svn версия 1.4.6)
источник
С доступом к самому репо (т.е. на вашей файловой системе хоста svn)
или для поиска во всех репозиториях (если у вас настроено несколько репозиториев).
опция --full-paths даст полный путь в репо к файлу (если найден)
пример:
перенаправить вывод в файл, если требуется статическая копия.
предполагает использование ОС nix.
источник
svn list --depth infinity <your-repo-here>
чтобы получить список файлов в репо, а затемsvn cat
получить содержимое. Вы можете добавить--xml
ключ кlist
команде, чтобы немного упростить синтаксический анализ.источник
grep
если вы хотите увидеть 1 файл, особенно если у вас тысячи файлов в репозитории, например OP. Кроме того, есть--incremental
режим, если вам нужно объединить вывод с более поздним / более ранним выводом XML.Недавно я опубликовал свою утилиту для вывода списка репозиториев, это намного быстрее, чем подход "svn ls --depth infinity". Вот тесты . Он просто вызывает функцию, доступную во внутреннем API Subversion, но теперь доступную через командную строку.
Так ты можешь бежать
источник
Если вы используете TortoiseSVN, вы можете попробовать это, ЕСЛИ вы хотите посмотреть Project by Project - у меня работает:
источник
VisualSVN Server 4.2 поддерживает поиск файлов по имени в веб-интерфейсе. Попробуйте новую функцию на демонстрационном сервере .
Вы можете загрузить VisualSVN Server 4.2.0 по адресу https://www.visualsvn.com/server/download/pre-release/ . См. Примечания к выпуску на https://www.visualsvn.com/server/download/ .
источник
Если ваш удаленный репозиторий невелик, то простой способ: вы можете выполнить «проверку», чтобы получить локальный репозиторий. Если вы находитесь на компьютере с Windows, вы используете «Поиск» или на компьютере с Linux используйте команду «Найти».
источник