Сбой сопоставления Unity Perforce

Итак, после использования сервера активов Unity в течение некоторого времени я решил попробовать Perforce, поскольку он казался хорошей альтернативой и жизнеспособным способом работы с людьми без профессиональной лицензии. Я использую версию Unity 5 для Windows и установку P4V для Linux.

Проблема, которую я получаю, заключается в этой ошибке

The Client path
       //ProjectName
maps to this folder 
       ~\Perforce\ProjectName
which is not a parent directory of the projects root:
       C:\Users\...\ProjectName`

После поиска в Интернете я ничего не нашел о том, что именно это означает, поэтому решил спросить.


person DoctorWizard    schedule 21.09.2015    source источник


Ответы (1)


Две части данных конфигурации не совпадают:

  1. Корневой каталог рабочей области клиента, который в вашем случае имеет значение «~\Perforce\ProjectName», и
  2. Корень проекта, который в вашем случае выглядит как "C:\Users...\ProjectName"

P4Connect ожидает, что "корень проекта" (C:\Users...) будет находиться "под" "корнем рабочей области" (~\Perforce...)

Я подозреваю, что проблема заключается в использовании символа тильды (~) Unix-y для обозначения вашего домашнего каталога. Как правило, программное обеспечение Windows не расширяет символ тильды автоматически; это поведение Unix-y.

Попробуйте заменить ~ на полный путь к корню вашего проекта.

И убедитесь, что корень вашего проекта находится внутри корня вашей рабочей области.

person Bryan Pendleton    schedule 21.09.2015
comment
О, извините, я должен был быть более конкретным. ~ для сокращения пути в примере. карты в эту папку на самом деле выглядят так: \home\username\Perforce\ProjectName - person DoctorWizard; 22.09.2015
comment
\home\username\Perforce\ProjectName - это в C:\Users\...\ProjectName? Это не похоже на это, поскольку \home и \Users - это два разных корневых каталога. - person Bryan Pendleton; 22.09.2015
comment
правильно, но они должны быть разными корневыми каталогами, как в Linux (расположение файла по умолчанию) и Windows (местоположение файла единства). Я могу ошибаться, но, похоже, вы говорите, что файлы сервера и файлы клиента должны находиться по одному и тому же пути на обеих машинах, что мне кажется неправильным. - person DoctorWizard; 22.09.2015
comment
Ни один из этих параметров конфигурации не предназначен для настройки файлов сервера, если под «сервером» вы подразумеваете сервер Perforce. Вам нужно иметь клиентское рабочее пространство на том же компьютере, где вы используете Unity. У вас может быть несколько рабочих областей Perforce. Программное обеспечение P4Connect возьмет ваши объекты Unity и зарегистрирует их на сервере Perforce, который предположительно работает на сервере в вашей машинной комнате. - person Bryan Pendleton; 22.09.2015
comment
Мне кажется, что я, возможно, неправильно настроил сервер, так что извините меня за это небольшое отклонение от темы. Я установил P4 и P4D на свой Linux-сервер, установил корень сервера P4D в папку и оставил порт в покое, чтобы остаться 1666, и запустил P4. Затем я установил P4V на машину с Linux, чтобы убедиться, что установка прошла успешно, в чем я больше не уверен. Я предположил, что p4connect — это все, что нужно для единства, поскольку документация, которую я прочитал в отношении этого, не упоминала о необходимости чего-либо еще. Я думаю, вопрос в том, как я могу убедиться, что он установлен правильно? - person DoctorWizard; 22.09.2015
comment
Это нормально, и это имеет смысл. Perforce — это клиент-серверная система, поэтому к серверу в Linux действительно можно получить доступ из P4Connect на вашей рабочей станции с Unity. Но вам, вероятно, будет удобно установить P4V и на рабочую станцию ​​Windows, чтобы иметь прямой доступ к Perforce из P4V на вашей рабочей станции. Другим вашим разработчикам может понадобиться только Unity+P4Connect, но наличие P4V также позволит вам получить доступ ко всем функциям Perforce с вашего ПК. - person Bryan Pendleton; 22.09.2015
comment
Да, иметь его для моего компьютера с Unity имеет смысл, поэтому я его установлю. Как я могу подтвердить, что моя служба perforce была установлена ​​правильно? - person DoctorWizard; 23.09.2015
comment
Под сервисом Perforce вы имеете в виду сервер p4d на вашем компьютере с Linux? Вы можете работать с некоторыми учебными материалами Perforce, используя P4V, который вы устанавливаете на свой ПК, и общаетесь с p4d на вашем Linux-сервере. Я думаю, это придало бы вам уверенности в вашей установке. На веб-сайте Perforce есть множество документов, которые помогут вам. - person Bryan Pendleton; 24.09.2015