2010-11-01 2 views
1

Я хочу сопоставить каталог в разных локальных папках (например, AA/adir и BB/adir) одновременно. Вот спецификация ниже, но она не работает хорошо.как написать эту спецификацию клиента perforce?

Есть ли что-то не так?

 
//depot/adir/... //cws/build/AA/adir/... 
//depot/adir/... //cws/build/BB/adir/... 
+0

Не могли бы вы объяснить свои причины для этого, может быть, лучший способ? –

ответ

7

В Perforce, есть сильное требование, чтобы там быть отношениями один-к-одному между депо и рабочим пространством. От the doc:

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

так отображение как:

//depot/adir/... //cws/build/AA/adir/... 
//depot/adir/... //cws/build/BB/adir/... 

только активирует вторую линию (которая выигрывает конфликт).

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

Вы можете посмотреть на наложения отображений, а может работать вокруг проблемы:

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

//depot/dir1/... //cws/build/... 
+//depot/dir2/... //cws/build/... 
+0

спасибо, я попробовал, прежде чем я разместил этот вопрос, он тоже работал. – Biwier

+0

так же, как вы сказали. Наложение сопоставления используется для сопоставления файлов из более чем одного каталога депо в одно и то же место в рабочей области ... но мое требование - это карта одного каталога депо во множество папок. это совсем другое .. :) – Biwier

+0

извините, опечатка ... актурально, я пробовал этот путь, прежде чем я разместил этот вопрос, он не работал – Biwier

2

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

//depot/adir/... //cws/build/AA/adir/... 
+//depot/adir/exception.c //cws/build/BB/adir/exception.c