Черепаха CVS - Предотвратить пользователю изменения в ветке? - PullRequest
1 голос
/ 20 января 2009

Как запретить разработчику вносить изменения в определенную ветку в CVS?

Недавно коллега-разработчик ввел код в основную ветку, и у меня был большой откат на ; - ( Как я могу предотвратить это?

Ответы [ 3 ]

1 голос
/ 08 февраля 2009

Может быть и не так, но если вы запускаете CVSNT на сервере, вы можете просто использовать команду cvs chacl. Подробнее см. http://cvsnt.org/manual/html/chacl.html. Некоторое время я не использовал TortoiseCVS, но, полагаю, там даже может быть опция GUI (ваш сервер все равно должен иметь CVSNT, чтобы он работал).

Обратите внимание, что TortoiseCVS - это просто графический интерфейс для клиента CVSNT. На ваши вопросы будет легче ответить, если вы предоставите некоторую информацию о вашем сервере.

1 голос
/ 09 сентября 2010

Этот подход работает для меня: -

1) Создайте сценарий оболочки, который проверяет соответствие ветви параметру. Я храню это в CVSROOT для удобства, но это может быть где угодно на сервере CVS.

#!/bin/bash

if [ -f CVS/Tag ]
then
  TAG=`cat CVS/Tag`
else
  TAG=THEAD
fi

if [ "$TAG" == "T$1" ]
then
  echo Cannot commit to $1
  exit 1
else
  echo Commit ok
fi
exit 0

Затем измените файл commitinfo, чтобы запустить этот скрипт для определенной ветви: -

ALL /cvs/repos/CVSROOT/checkbranch.sh YOUR-BRANCH-NAME-HERE

Это приведет к запуску сценария для всех проверок. Это передаст имя ветви как параметр. Скрипт сравнивает параметр с веткой для проверяемого кода и выдает ошибку, если они совпадают. Если вы хотите заблокировать несколько веток, добавьте несколько строк в commitinfo.

Очевидно, что если разработчик действительно хочет что-то зафиксировать, он может взломать файл commitinfo, но это предотвращает ошибки, а не преднамеренные попытки сломать вещи.

1 голос
/ 20 января 2009

Измените права доступа для этого пользователя для этой конкретной ветки только для чтения.

Честно говоря, я понятия не имею. Но это может помочь: Патч расширения списка управления доступом CVS

...