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

Как удалить SVN-проект из репозитория SVN

Кто-нибудь может предложить мне, как удалить полный SVN-проект из репозитория SVN (репозиторий svn находится в linux). Я нашел "svn delete", но не думаю, что он делает то же самое. Это помогает только удалять файлы или подпапки, но не весь проект.

4b9b3361

Ответ 1

этот ответ может ввести в заблуждение

прочитайте комментарии, прикрепленные к этому сообщению, и убедитесь, что это вы после

'svn delete' работает против содержимого репозитория, а не самого репозитория. для выполнения обслуживания хранилища (например, для полного удаления) вы должны использовать svnadmin. Однако есть причина, по которой svnadmin не имеет подкоманды "delete". Вы можете просто

rm -rf $REPOS_PATH

на сервере svn,

где $REPOS_PATH - это путь, который вы использовали для создания своего репозитория с помощью

svnadmin create $REPOS_PATH

Ответ 2

Содержимое "Obliberating" из репозитория svn, т.е. вытирая это содержимое с диска, может быть выполнено, как описано в этой статье http://www.limilabs.com/blog/how-to-permanently-remove-svn-folder

Для этого требуется доступ к репозиторию svn на стороне сервера, поэтому у вас должны быть некоторые привилегии администратора.

Он работает: (a) сбрасывает содержимое репозитория в файл, (b) исключает некоторое содержимое и (c) очищает и снова создает простой репозиторий и, в конечном итоге, (d) загружает содержимое фильтрованного репозитория:

svnadmin dump "path/to/svnrepo" > svnrepo.txt                    // (a)
svndumpfilter exclude "my/folder" < svnrepo.txt > filtered.txt   // (b)
rm -rf "path/to/svnrepo" && svnadmin create "path/to/svnrepo"    // (c)
svnadmin load "path/to/svnrepo" < filtered.txt                   // (d)

С помощью этих операций счетчик хранилища не изменяется. Однако в вашем репозитории теперь "отсутствуют" все номера версий, используемые для создания этого содержимого, которое вы удалили на этапе (b).

Subversion 1.7.5, похоже, очень хорошо справляется с этими "недостающими" версиями. Например, используя "svn ls -r $missing", он сообщает то же самое, что "svn ls -r $((missing - 1))".

Вопреки этому, мой (довольно старый) VIEWVC сообщает "нет содержимого" при запросе "отсутствующей" версии.

Ответ 3

В случае, когда вы просто хотите удалить проект из главной версии, чтобы он больше не отображался в вашем репо при запуске svn list file:///path/to/repo/ только запуска:

svn delete file:///path/to/repo/project 

Однако, если вам нужно удалить всю запись в репо, используйте другой метод.

Ответ 4

В svn нет понятия "проект". Поэтому не стесняйтесь удалять все, что, по вашему мнению, принадлежит проекту.

Ответ 5

Я тоже чувствовал, что принятый ответ немного вводит в заблуждение, поскольку это может привести к непреднамеренному удалению пользователем нескольких проектов. Неточно утверждать, что слова Репозиторий, Проект и Каталог неоднозначны в контексте SVN. У них есть определенные значения, даже если сама система не применяет эти значения. Сообщество и, что более важно, клиенты SVN имеют согласованное понимание этих терминов, которые позволяют им использовать тег, ветвь и слияние.

В идеале это поможет устранить любую путаницу. Как кто-то, кто должен был перейти от git к svn для нескольких проектов, это может расстраивать, пока вы не узнаете, что проекты ветвления SVN и SVN действительно говорят о структурах папок.

Терминология SVN

Repository

База данных фиксации и истории для ваших папок и файлов. Репозиторий может содержать несколько проектов или проектов.

Проект

Конкретная структура папок SVN, которая позволяет инструментам SVN выполнять тегирование, слияние и разветвление. SVN по своей сути не поддерживает ветвление. Ветвление добавлено позже и является результатом специальной структуры папок следующим образом:

  • /проект теги ветки
  • /багажник

Примечание. Помните, что SVN 'Project' - это термин, используемый для определения конкретной папки strcuture в репозитории

Проекты в репозитории

Макет репозитория

/app1 "Project" due to layout теги ветки /багажник /fooproject "Project" due to layout теги ветки /багажник /regulardir <-- Not a "Project"
  • /подкаталог

http://svn.server.local/svn/myrepo2

  • /app2 "Project" due to layout теги
ветки /багажник

Как репозиторий - это просто база данных для файлов и каталогов, она может содержать несколько проектов. При обсуждении Репозитории и Проекты убедитесь, что используется правильный термин.

Удаление репозитория может означать удаление нескольких проектов!

Локальный каталог SVN (каталог .svn в корневом каталоге)

При использовании коммитов URL происходит автоматически.

  • svn co http://svn.server.local/svn/myrepo
  • cd myrepo

  • Удалить проект: svn rm skunkworks + svn commit

  • Удалить каталог: svn rm regulardir/subdir + svn commit
  • Удалить проект (без проверки): svn rm http://svn.server.local/svn/myrepo/app1
  • Удалить каталог (без проверки): svn rm http://svn.server.local/svn/myrepo/regulardir

Поскольку SVN Проект действительно является конкретной структурой каталогов, удаление проекта такое же, как удаление каталога.

Управление хранилищем SVN

Для размещения ваших репозиториев доступно несколько серверов SVN. Управление репозиториями обычно осуществляется через консоль администратора серверов. Например, Visual SVN позволяет создавать репозитории (базы данных), каталоги и Проекты. Но вы не можете удалять файлы, управлять фиксациями, переименовывать папки и т.д. Из консоли сервера, поскольку это специфические задачи SVN. Сервер SVN обычно управляет созданием репозитория. После создания репозитория и нового URL-адреса остальная часть вашей работы выполняется с помощью команды svn.

Ответ 6

Утилизация рабочей копии

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

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

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

from: http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html

Ответ 7

Легко поверить, что удаление всего репозитория Subversion требует "информирования" Subversion о том, что вы собираетесь удалить репозиторий. Но Subversion заботится только об управлении репозиторием после его создания, а не о том, существует или нет репозиторий (если это имеет смысл). Это происходит так: инструментам и командам Subversion не подвержено неблагоприятное воздействие, просто удалив каталог вашего репозитория с помощью обычных утилит операционной системы (например, rm-R). Каталог репозитория - это не то же самое, что установленный каталог программы, где удаление программы без ее удаления может привести к ошибкам конфигурационных файлов или других зависимостей. Репозиторий на 100% автономный в своем каталоге, и удаление его безвредно (кроме потери истории проекта). Вы просто очищаете сланец, чтобы создать новый репозиторий Subversion и импортировать следующий проект.

Ответ 8

Перейдите в Eclipse, Нажмите "Окно" в строке меню, затем "Open Perspective → other → SVN Repository Exploring → Нажмите" OK "

Теперь, после выполнения "Нажмите" ОК ", вам нужно перейти на грузовик (или место, где ваш проект сохранен в SVN), затем выбрать проект (который вы хотите удалить), затем щелкнуть правой кнопкой мыши → Удалить.

Это приведет к удалению проекта из подрывной деятельности.

Ответ 9

Правильное предложение: svnadmin deltify $PATH. не прошу удалить проект или репозиторий из файла svn-acl (если вы его используете). если вы просто удалите папку репозитория, вы можете повредить каталог svn в зависимости от того, как ваш svn настроен в вашей среде.