Как указать рабочую область Perforce на проект, синхронизированный на двух машинах? - PullRequest
3 голосов
/ 19 февраля 2012

У меня есть проект с синхронизацией затмений, в котором я выполняю работу на своем компьютере с Windows, а затем синхронизирую и компилирую его на сервере сборки linux.Тем не менее, рабочее пространство Windows связано с производительностью, а в Linux - нет.Проблема в том, что когда Eclipse синхронизирует эти два, права доступа испорчены на стороне linux, поэтому я не могу выполнить некоторые сценарии оболочки, которые обычно выполняются во время сборки.Обходной путь, который у меня есть, заключается в том, чтобы каким-то образом выполнить chmod все файлы * .sh перед выполнением сборки, но я бы предпочел, чтобы они знали об обоих местах (таким образом, я мог бы также фиксировать либо со стороны Linux, либо со стороны Windows).По соображениям производительности я не смог запустить eclipse на удаленном сервере сборки, поэтому это было единственное решение, которое я нашел.Кроме того, когда я пытался настроить второе рабочее пространство для стороны Linux, он выдавал мне ошибки, говорящие «не удалось заткнуть X».Я думаю, что главная проблема в том, что я имею дело с какой-то проблемой с разрешениями.

Ответы [ 3 ]

6 голосов
/ 21 февраля 2012

Возможно, я нашел ответ.Согласно документации :

По умолчанию на компьютере можно использовать только рабочее пространство, указанное в поле Host :.Если вы хотите использовать одно и то же рабочее пространство клиента на нескольких компьютерах с разными платформами, удалите запись Host: и установите поле AltRoots: в спецификации клиента.Вы можете указать не более двух альтернативных корней рабочего пространства клиента.Местоположения должны быть видны со всех машин, которые будут их использовать, например, через монтирования NFS или Samba.Perforce сравнивает текущий рабочий каталог с основным Root: сначала, а затем с двумя AltRoots: если указано.Первый корень, соответствующий текущему рабочему каталогу, используется.Если корни не совпадают, используется основной корень.Примечание. Если вы используете каталог Windows в любом из ваших корневых клиентов, укажите каталог Windows в качестве основного корневого клиента: и укажите корневые каталоги других рабочих областей в поле AltRoots :.В следующем примере, если текущий рабочий каталог пользователя bruno находится в / usr / bruno, Perforce использует путь UNIX в качестве корневого корневого рабочего пространства клиента, а не c: \ bruno_ws.Этот подход позволяет bruno использовать одну и ту же спецификацию рабочего пространства клиента как для разработки под UNIX, так и для Windows.Клиент: bruno_ws Владелец: bruno Описание: Создано bruno.Root: c: \ bruno_ws AltRoots: / usr / bruno / Чтобы узнать, какой корневой каталог рабочей области действует, введите команду p4 info и проверьте поле Client root :.Если вы редактируете текстовые файлы в одной рабочей области с разных платформ, убедитесь, что используемые вами редакторы и настройки сохраняют окончания строк.Подробнее об окончаниях строк в кроссплатформенных настройках см. Руководство системного администратора Perforce.

2 голосов
/ 20 февраля 2012

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

0 голосов
/ 23 марта 2016

Для настройки альтернативных корней в Perforce я сделал следующее:

  1. Создано рабочее пространство в Windows
  2. Установите текущий клиент (рабочее пространство) с "p4 set P4CLIENT = workspace_name", я использовал Windows + Cygwin, чтобы сделать это
  3. Удалил «Хост» из этого клиента (рабочая область) »p4 client -o | grep -v Host: | p4 client -i" Я использовал Windows + Cygwin для этого
  4. В Linux добавлен альтернативный корень в P4V, не используйте ~, используйте абсолютный путь, я не тестировал переменные среды
  5. Переключен на рабочую область в P4V
  6. Получил последнюю версию в P4V и проверил опцию "Force"

Ссылки:

  1. http://answers.perforce.com/articles/KB/3412
  2. Переопределить хост в null при создании клиента перформанса
  3. https://www.perforce.com/perforce/r12.1/manuals/cmdref/client.html
  4. ответ Квеникса здесь
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...