Проблемы с использованием командной строки Perforce под Cygwin - PullRequest
20 голосов
/ 21 января 2010

Таким образом, практически невозможно использовать командную строку Perforce для чего-либо, кроме синхронизации. Мой корень рабочего пространства сопоставлен с C: \ Вот строка моей спецификации клиента: //claims1.0/main / ... //cthiel/code/claims1.0/main / ...

Каждый раз, когда я запускаю Cygwin и пытаюсь работать с любыми файлами в моем хранилище (например, редактирование p4), я получаю сообщение об ошибке: Путь «/cygdrive/c/code/commonTest/main.p4ignore» не находится в корневом каталоге клиента «C: \».

Пути не совпадают, потому что эквивалент C: \ для cygwyn - / cygdrive / c. Поэтому он никогда не сможет найти файлы с помощью командной строки Perforce.

Есть ли способ это исправить? Это очень раздражает.

Ответы [ 6 ]

35 голосов
/ 21 января 2010

Нашли решение:
Добавьте это к вашему .bashrc:

function p4() {
export PWD=`cygpath -wa .`
/cygdrive/c/Program\ Files/Perforce/p4.exe $@
}

Работает как очарование для меня.

11 голосов
/ 21 января 2010

Даже мо 'бетта':
Используйте клиент cygwin p4: http://filehost.perforce.com/perforce/r07.2/bin.cygwinx86/p4.exe

Просто убедитесь, что это ваш путь до Perforce / p4.exe. Et voila.

5 голосов
/ 21 января 2010

Вы можете настроить altroots в спецификации клиента, что может покрыть это?

Хотя Cygwin P4 - это решение, которое я бы выбрал. Но я бы выбрал последнюю версию: http://filehost.perforce.com/perforce/r09.2/bin.cygwinx86/p4.exe - она ​​будет работать с любым старым сервером, но будет иметь меньше ошибок.

4 голосов
/ 04 мая 2012

Обратите внимание, что клиент CLI Perforce для CygWin устарел и больше не будет поддерживаться после 01.05.2013, согласно веб-сайту Perforce. Обсуждается эта тема на форумах поддержки Perforce, включая опрос, который пытается измерить уровень заинтересованности в дальнейшей поддержке клиента CygWin. Поддержка прекращается по финансовым причинам (лицензионные платежи Redhat за коммерческое распространение Cygwin); поэтому, если проявится достаточный интерес, это решение может быть пересмотрено.

Если вы пользуетесь клиентом P4 Cygwin, когда-либо интересуетесь этой темой или проявляете к ней какой-либо интерес, я настоятельно призываю вас принять участие в опросе. Спасибо.

1 голос
/ 26 августа 2010

Модифицированная версия функции .bashrc, чтобы избежать издержек cygpath и автоматически найти исполняемый файл p4.exe в PATH:

function p4() {
    PWD= `which p4` "$@"
}
0 голосов
/ 06 января 2012

Мне кажется, что Alt root работает нормально. Однако я не использую Cygwin. Мой исходный код находится на сервере Linux, и у меня есть клиент на машине Windows. Я сопоставил рабочее пространство сервера в Windows с помощью сетевого диска.

...