Как переименовать ветку в CVS? - PullRequest
10 голосов
/ 10 июля 2009

Если вы назвали ветку в CVS неправильно или изначально выбранное имя становится неуместным, как вы можете изменить его на другое?

Смежный вопрос: Как переименовать ветку в CVS без прав администратора? .

Ответы [ 3 ]

12 голосов
/ 10 июля 2009

Хитрость в этом заключается в том, чтобы использовать одну из более неясных команд администратора CVS -N. Это двухэтапный процесс, эффективно скопируйте и удалите.

Во-первых, вы создаете ветку с правильным именем, которое ссылается на оригинальное имя ветки. Во-вторых, вы удаляете исходное имя ветки.

Предположим, у вас есть файл "File.txt", который в настоящее время имеет разветвленную ветку "bad _ branch". Вы хотели бы, чтобы ветку назвали - вы можете догадаться? - "хорошо _ ветка".

kwutchak% cvs log File.txt

Файл RCS: ... / data / File.txt, v
голова: 1.1
Отрасль:
символические имена:
плохо _ ветка: 1.1.0.2

Чтобы создать ссылку на новую ветку:

cvs admin -N good_branch:bad_branch File.txt

kwutchak% cvs log File.txt

RCS файл: ... / data / File.txt, v
Рабочий файл: File.txt
голова: 1.1
Отрасль:
символические имена:
хорошо _ ветка: 1.1.0.2
плохо _ ветка: 1.1.0.2

Чтобы удалить исходную ссылку:

cvs admin -N bad_branch File.txt

kwutchak% cvs log File.txt

RCS файл: ... / data / File.txt, v
Рабочий файл: File.txt
голова: 1.1
Отрасль:
символические имена:
хорошо _ ветка: 1.1.0.2

0 голосов
/ 19 августа 2013

Поскольку я пока не могу добавлять комментарии к данным ответам (репутация низкая), хочу отметить, что в данной команде в предыдущем ответе отсутствуют двойные кавычки!

Исправление:

grep "old-branch-name" * -rl | xargs sed -i 's/old-branch-name/new-branch-name/g'
0 голосов
/ 16 апреля 2013

Если вы допустили ошибку «несколько веток назад», опция admin -N не поможет из-за изменения положения ветки.

Это решение будет работать только при полном доступе к хранилищу Вашего проекта.

  1. Перейти к CVSROOT / Project
  2. Создать резервную копию
  3. grep "old-branch-name" * -rl | xargs sed -i 's / old-branch-name / new-branch-name / g'

Сработало для меня как оберег.

Извините за некро, но я думаю, что мое решение поможет любому в ситуации, схожей с моей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...