Удаление ветви SVN

Я создал ветвь проекта SVN под названием "features", и теперь, когда я пытаюсь обновить этот проект, он приносит с собой папку features, которая содержит другую копию проекта из ветви. Есть ли способ полностью удалить ветку из репозитория, чтобы этого больше не происходило?

7 ответов


обязательно: svn rm нежелательная папка и фиксация.

чтобы избежать этой ситуации в будущем, я бы следовать рекомендуемый макет для проектов SVN:

  • поместите свой код в /someproject/trunk папка (или просто /trunk Если вы хотите поставить только один проект в репозитории)
  • созданные ветви как /someproject/branches/somebranch
  • ставить теги под /someproject/tags

теперь, когда вы извлекаете рабочую копию, обязательно проверьте только trunk или какая-то отдельная ветвь. не проверьте все в одной огромной рабочей копии, содержащей все ветви.1

1если вы не знаете, что делаете, в этом случае вы знаете, как создавать мелкие рабочие копии.


предполагая, что эта ветвь не является внешней или символической ссылкой, удаление ветви должно быть таким же простым, как:

svn rm branches/< mybranch >

svn ci -m "message"

Если вы хотите сделать это в хранилище, затем обновить, чтобы удалить его из вашей рабочей копии, вы можете сделать что-то вроде:

svn rm http://< myurl >/< myrepo >/branches/< mybranch >
выполнить:
svn update

для тех, кто использует в TortoiseSVN, вы можете сделать это с помощью браузера репозитория (он помечен как "Repo-browser" в контекстном меню.)

context menu

найдите папку филиала, которую вы хотите удалить, щелкните ее правой кнопкой мыши и выберите " Удалить."

deleting the folder

введите сообщение фиксации, и все готово.

committing


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

svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"

на ^ является коротким для URL-адреса удаленного, как видно из "svn info". Двойные кавычки необходимы в командной строке Windows, потому что ^ является специальным символом.

эта команда также будет работать, если вы никогда не проверили филиала.


вы можете удалить папку features так же, как и любой другой в вашем оформлении заказа, а затем зафиксировать изменение.

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

либо дайте каждому проекту папку trunk, branches, tags при их создании.

svn
+ project1
  + trunk
    + src
    + etc...
  + branches
    + features
      + src
      + etc...
  + tags
+ project2
  + trunk
  + branches
  + tags

из рабочей копии:

svn rm branches/features
svn commit -m "delete stale feature branch"


команда для удаления ветки выглядит следующим образом:

svn delete-m " "

Если вы не хотите получать / проверять все РЕПО, выполните следующую команду на своем терминале:

1) получить абсолютный путь к каталогу, который будет содержать вашу рабочую копию
> pwd
2) запустите проверку кода svn
> svn checkout

вышеуказанные шаги получат вам файлы внутри папки филиала, а не всей папки.