2016-01-27 12 views
1

Можно ли читать только определенную папку во всех потоках? Если да, не могли бы вы рассказать мне, как это сделать?Perforce: как отключить доступ к одной и той же папке через потоки

Я пытался что-то вроде:

пользователя чтения * // Depot/*/Unity/Активы/Scripts/Framework/...

не работал.

ответ

2

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

Так, например, у вас есть стандартная таблица Protect:

write user * * //... 
super user gweiss * //... 

Даже если вы впоследствии добавить:

read user * * //Depot/*/Unity/Assets/Scripts/Framework/... 

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

read user * * -//Depot/*/Unity/Assets/Scripts/Framework/... 
read user * * //Depot/*/Unity/Assets/Scripts/Framework/... 

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

+0

не понял почему (я думал, что последнее разрешение всегда перезаписывает предыдущие), но это сработало благодаря :). Вообще-то я помню, что если я НЕ использую *, простое чтение работает. – sebas

+0

Да, не уверен. Может быть, какая-то странность со встроенными подстановочными знаками? Я не слишком много играл с ним, но рад, что это сработало! : D – GabeWeiss