2009-06-18 2 views
1

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

Например (игнорируя [не редактируется]):

//Development/foo/... //client/foo/... 
//Published/bar/1.0/... //client/bar/... [not editable] 
//Published/qux/2.0/... //client/qux/... [not editable] 

Другими словами, я хочу, чтобы файлы от открытия (скажем, будучи запертыми по умолчанию), и я интересно, если это может быть приведено в исполнение на уровень обслуживания клиентов.

Если нет, есть ли доступный способ, не делая «Опубликовано» депо только для чтения определенным пользователям?

ответ

5

Единственный способ сделать это правильно - это использовать таблицу разрешений Perforce. Вы получаете это либо с помощью команды p4 protect, либо через меню Admin в P4V.

Просто откройте его - вам нужны права администратора - и добавьте строку в таблицу, чтобы пометить эти файлы как прочитанные. Это позволит вашим клиентам синхронизировать файлы, но не разрешается открывать их для редактирования (или удаления и т. Д.).

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

Руководство администратора Perforce довольно хорошо на таблице разрешений. Прямая ссылка here.

+0

Отлично, спасибо. Не совсем то, что я искал, но я думаю, что смогу с этим работать. –

1

вы можете использовать p4 lock, что запрещает другим пользователям отправлять изменения.

вы также можете управлять доступом пользователей, см. p4 protect и p4 group. Я считаю, что это можно использовать в файле по файлу.

+0

p4 блокировки блокировки открытых файлов. Я хочу, чтобы файлы не открывались ни на одном клиенте, и мне интересно, можно ли это реализовать на уровне спецификации клиента. –

0

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

+0

Итак, создайте фиктивный клиент, сопоставляющий файлы, которые я хочу заблокировать, откройте их для редактирования, а затем заблокируйте их? –