Вопрос

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

Это было полезно?

Решение

Конечно: 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

Для тех, кто использует ТортосветВН, вы можете выполнить это с помощью браузера репозитория (это помечено «REPO-браузер» в контекстном меню.)

context menu

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

deleting the folder

Введите ваше сообщение Commit, и вы закончите.

committing

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

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

То ^ Коротко для URL удаленного, как видно в «SVN INFO». Двойные кавычки необходимы в командной строке Windows, потому что ^ это особый характер.

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

Вы можете удалить папку «Функции», как и любой другой в вашем оформлении заказа, затем совершайте изменения.

Чтобы предотвратить это в будущем, я предлагаю вам следовать соглашениями о именовании для макета 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 удалить -M »u003Cyour message> "u003Cbranch url>

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

1) Получите абсолютный путь каталога, который будет содержать вашу рабочую копию
> pwd.
2) Начать CVN Code Checkout
> Оформление SVNu003Cbranch url>u003Cabsolute path from point 1>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top