2016-06-14 4 views
3

Есть ли способ отправить файл, который не является частью представления клиента?p4 отправить файлы не в виде клиента

Мой клиент выглядит следующим образом:

//dir1/... 
-//dir1/dir2/... 

Я пытаюсь создать новый файл, который несколько мегабайт в //dir1/dir2/file1 и представить его без синхронизации //dir1/dir2/ (который может быть несколько гигабайт).

Есть ли способ принудительно представить файл, который не существует в представлении клиента, если я могу гарантировать, что базовый каталог (//dir1/dir2) существует в хранилище Perforce?

Редактировать: Да, я понимаю, что я могу добавить этот файл в представление клиента, но мой вопрос, в частности, как указано выше: «Есть ли способ принудительно отправить файл, который не существует в вид клиента "?

ответ

3

(Edit: Разъяснение моего ответа, чтобы попытаться более непосредственно ответить на (осветленный) вопрос)

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

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

//dir1/...   //my-ws/location/dir1/... 
-//dir1/dir2/... //my-ws/location/dir1/dir2-files-I-don't-care-about/... 
//dir1/dir2/file1 //my-ws/location/dir1/dir2/file1 

Вы можете прочитать это так: «включают в себя все, что в dir1, исключая все в dir1/dir2, за dir1/dir2/file1 исключением, что конкретно будет включено «.

После настройки вашего вида вы можете использовать p4 add //dir1/dir2/file1, как вы ожидаете.

Порядок линий отображения имеет решающее значение здесь, как описано в этом предложении из p4 help views:

If more than one mapping line refers to the same files, the later 
mapping line overrides the earlier one. 

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

+0

Замечательный ответ. Когда я делаю 'p4 client -o', я получаю представление как' // depot/dir1''/root/dir2' i.e путь депо и сопоставленный клиентский путь смежны друг с другом. Как сделать такое сопоставление в конфигурации такого типа клиента? – SilentMonk

+1

Мне непонятно, из вопроса, где вы хотите, чтобы каталог депо находился в рабочей области - если вы можете выразить его в этой форме (например, «Мне хотелось бы, чтобы // depot/dir1 синхронизировался с моей рабочей областью как/root/blah/dir1 и // depot/dir2, которые будут синхронизироваться как/root/blah/dir2 "), тот, кто знаком с представлениями клиента, может очень легко показать вам, как настроить представление. –

+0

Несмотря на информативность, это не касается вопроса OP: «Есть ли способ принудительно отправить файл, который не существует в представлении клиента»? –

Смежные вопросы