Привязка ответвления по необходимости?

В общем случае у компилятора нет причин запрещать деление на ноль (или любое другое число) во время выполнения.

Тем не менее, ваш первый пример - это константа времени компиляции , то есть она рассчитывается компилятором и заменяется результатом оценки. Это то, на что жалуется компилятор, так как он по праву не знает, какое целочисленное значение вместо 5/0.

6
задан Brian Carlton 8 December 2009 в 14:32
поделиться

4 ответа

P4 защищают, вероятно, правильный ответ для большинства людей, как объяснено в других ответах.

Однако в моей организации я не могу быть администратором так способ сделать, это должно иметь сценарий триггера в по необходимости, который читает текстовый файл, к которому неадминистраторы имеют доступ для записи и проверяют, появляется ли ответвление в списке. Таким образом, доступ администратора как p4 защищает, нуждался бы, не нужно.

0
ответ дан 8 December 2019 в 12:22
поделиться

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

Можно защитить на любом уровне гранулярности, которую Вы любите, является весьма управляемым - также. Обратите внимание также, что 2 008,1 выпусков сервера имеют новое, защищают функцию, которая позволяет Вам указывать то, что можно сделать немного отличающимся способом. Смените тон:

#152278 **
    'p4 protect' now allows specification of permission 'rights'.
    Previously, 'p4 protect' only allowed using permission levels 
    which include the specified access (ie 'read') and also all
    of its lesser permissions (ie 'read' = 'read' + 'list').
    Permission rights make it possible to deny individual rights
    without having to re-grant lesser rights.  The new 
    permission rights are '=read', '=branch', '=open',
    and '=write'. This functionality was previously undocumented,
    and is now fully supported for 2008.1

Если у Вас действительно есть проблема с необходимостью быть администратором, чтобы заблокировать и разблокировать это, то необходимо смотреть на "владельца группы" функция, представленная в 2 007,3. Это позволит несуперпользователю, чтобы смочь добавить и удалить людей из группы. Так объединение это с таблицей мер защиты. Т.е. заставьте администратора сайта настраивать таблицу мер защиты, и ограничивать права группе, названной "Рэл 1.0 Санкционированных" и делать Вас владельцем группы. Можно затем добавить и удалить пользователей (или подгруппы) от той группы для управления доступом.

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

2
ответ дан 8 December 2019 в 12:22
поделиться

Я делаю это все время как инженер сборок. Я использую 'p4, защищают' для ограничения общего доступа к деревьям к только для чтения:

super group everyone * -//depot/project/branch/...
read group everyone * //depot/project/branch/...
super user me * //depot/project/branch/...

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

Вторая строка восстанавливает полномочия чтения для всех.

Последняя строка восстанавливает все полномочия просто мне.

13
ответ дан 8 December 2019 в 12:22
поделиться

В качестве небольшого дополнения к одному из других ответов. Сначала создайте группу «все», в которой есть все пользователи. Затем добавьте это в p4 protect

write group everyone * -//depot/project/1.0/...
read group everyone * //depot/project/1.0/...
write group 1.0 * //depot/project/1.0/...

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

Если вы используете сервер 2008.1, вы можете это сделать.

=write group everyone * -//depot/project/1.0/...
write group 1.0 * //depot/project/1.0/...

Первая строка удаляет только права записи (не чтение и список) из группы все.

2
ответ дан 8 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: