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


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

7 80

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"

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

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

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

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

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

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) получить абсолютный путь к каталогу, который будет содержать вашу рабочую копию
> инвалидов
2) запустите проверку кода svn
> svn checkout

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