Как экспортировать SVN, игнорируя отсутствующие файлы?

Как экспортировать SVN, игнорируя отсутствующие файлы?

У меня есть большая старая рабочая копия репозитория svn, которую я извлек давно. Я хотел бы экспортировать и сохранить ее, сохранив структуру каталогов.

Со временем я удалил большую часть подкаталогов и файлов на разных уровнях как ненужные. Я хотел бы экспортировать остальное с помощью svn export.

Однако экспорт останавливается незавершенным из-за таких ошибок:

svn: Can't stat 'WSN/Somedir': No such file or directory

Я бы хотел этого избежать svn updateпо следующим причинам:

  • Репозиторий устарел и больше не обслуживается.
  • Даже если бы он был доступен онлайн, недостающие каталоги занимают много гигабайт, и я бы предпочел не тратить время и место на их загрузку.

Одно из известных мне решений — скопировать все дерево и запустить рекурсивную команду удаления, которая удалит все каталоги «.svn».

Однако есть ли более чистый способ запросить svnэкспорт, игнорирующий отсутствующие файлы и каталоги?

решение1

Если вы запустите svn status, вы получите список отсутствующих активов. Они обозначены символами !; например:

$ svn status
?       default.cfg
!       models

В этом примере modelsпапка была удалена и поэтому помечена значком !.

Чтобы исправить это, вам нужно удалить эти отсутствующие папки с помощью svn rm; в примере это будет:

$ svn rm models
D         models
D         models/model1.png
D         models/model2.png

Затем выполните фиксацию и экспорт должен заработать.

решение2

Или вы можете вернуть только этот подкаталог. Сделайте это, изменив каталог на папку, которую вы хотите вернуть, чтобы не вернуть что-то не то. Затем введите:

svn откат -R .

Теперь вы можете обновлять и экспортировать по своему усмотрению.

Связанный контент