Подтвердить что ты не робот

Как просмотреть все файлы в удаленном репозитории SVN?

Я обращаюсь к удаленному хранилищу SVN больших. Поскольку мне обычно нужен только крошечный поднабор его содержимого, я сделал "редкую проверку":

svn checkout --depth empty svn+ssh://... src

Всякий раз, когда мне нужна папка из репозитория, я могу просто сделать

svn up folder

и когда мне это больше не нужно, я использую

svn up --set-depth exclude folder

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

Я уже пробовал svn ls -R, который действительно будет перечислять некоторые файлы, которые я не проверял, но все еще есть некоторые недостающие. Я знаю, потому что он показывает все в текущем каталоге. Теперь я мог бы выполнить вручную svn ls и svn up --depth empty для каждого нового каталога, но мне интересно, есть ли какая-то лучшая альтернатива.

В отличие от Как мне перечислить все файлы, когда-либо зафиксированные в репозитории? Меня интересует только текущий контент репозитория, и у меня нет доступа до svnadmin. Я также не могу установить программное обеспечение на сервере репозитория.

4b9b3361

Ответ 1

Здесь перечислены все файлы рекурсивно:

svn ls -R URL-OF-REPO

Ответ 2

svn list --recursive https://myrespository.my.com/Myproject

Я думаю, что работает для текущего и всех подкаталогов, как я и пытался. В этом списке перечислены все ветки и теги, а также все их подкаталоги и файлы.

Ответ 4

Без URL

svn list --recursive -r HEAD

Ответ 5

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

svn list -R svn://url/to/your/main/folder/on/repo | grep '[^\/]$'

путь к папкам, указанным в

svn list -R svn://url/to/your/main/folder/on/repo

всегда заканчивается на "/", а путь к файлу - нет. Выход передается как вход для

grep '[^ \/] $'

который исключает все пути, имеющие конечный "/"; остальные пути связаны только с файлами.

Пример: допустим, у нас есть репозиторий с именем myrepo на my.svnserver.com в качестве домена, и мы хотим получить все файлы, перечисленные в подкаталоге myrepo i.e. mysubdir: команда

svn list -R svn://my.svnserver.com/myrepo/mysubdir | grep '[^\/]$'

Кроме того, если вы передаете результат команде wc -l (которая печатает количество строк новой строки, так как каждая выходная строка содержит только один путь), вы можете получить количество всех файлов в mysubdir, например

svn list -R svn://my.svnserver.com/myrepo/mysubdir | grep '[^\/]$' | wc -l