Так, фактически не может использовать по необходимости командную строку ни для чего кроме синхронизации. Мой корень рабочей области отображается на C:\ Here строка моей клиентской спецификации://claims1.0/main/...//cthiel/code/claims1.0/main/...
Любое время я разжигаю cygwin и попытку работать с любыми файлами в моем складе (такими как редактирование p4), я получаю ошибку вроде: Соедините '/cygdrive/c/code/commonTest/main.p4ignore каналом', не находится под корнем клиента 'C:\'.
Пути не являются совпадением, потому что эквивалент C:\ для cygwyn является/cygdrive/c. Таким образом, это так и не смогло найти файлы с по необходимости командной строкой.
Существует ли способ зафиксировать это? Это является очень раздражающим.
Даже Mo 'Betta':
Используйте клиент Cygwin P4:
http://filehost.perforce.com/perforce/r07.2/bin.cygwinx86/p4.exe
Просто убедитесь, что это на вашем пути перед perforce / p4.exe. И вуаля.
Вы можете настроить ALTROOTS в вашем клиентском спецификации, которые могут охватывать это?
Хотя Cygwin P4 - это решение, которое я бы пошел. Но я бы пошел на последнюю версию: http://filehost.perforce.com/perforce/r09.2/bin.cygwinx86/p4.exe - это будет работать с любым более старым сервером, но будет иметь меньше ошибок.
Найдено решение:
Добавь это в свой .bashrc:
function p4() {
export PWD=`cygpath -wa .`
/cygdrive/c/Program\ Files/Perforce/p4.exe $@
}
Работает как очарование для меня.
Модифицированная версия функции .bashrc, чтобы избежать накладных расходов cygpath и автоматически найти исполняемый файл p4.exe в PATH:
function p4() {
PWD= `which p4` "$@"
}