Уязвимость Perforce "файл не в корне клиента".

Я добавляю проект для принудительного использования через VS2010, но я продолжаю получать эту ошибку 'file' not under client root для всех файлов в проекте. Я не могу понять этого.

Вот что я делаю:

1) Откройте проект VS2010, который еще не занят.

2) Я выбираю добавить solotion perforce (из меню File > Source Control > Add Solution).

3) Я выбираю новое рабочее пространство. Он отображает свойства рабочей области. Корневой папке по умолчанию присваивается значение c:\Users\My.Name. Я меняю это на папку, где находится мой проект. Я также изменяю представление, поэтому он указывает на депо \main\new_project.

Кажется, что добавил проект, но когда я проверил файл, он просто не работает! Он дает эту ошибку для всех файлов, которые 'file not under client root'.

Я также перехожу прямо к себе и проверяю настройки соответствующего рабочего пространства. На панели мониторинга отображается сообщение об ошибке:

P4V is having trouble translating the location "c:\Users\user.Name\Documents\Code\My_Project" to a valid workspace location. To filter using this location, drag the folder from the workspace tree to the workspace folder field or include the depot location in your workspace view.

Может кто-нибудь дать мне какой-нибудь указатель, почему это просто не работает?

Обновление Мое отображение рабочей области - это

Client:  omega
Owner:   User.Name
Root:    C:\Users\User.Name\Documents\Visual Studio 2010\Projects\Omega
LineEnd: local
View:
         //depot/main/omega/...     //omega/...

Ответ 1

Если вы получите эту ошибку, в то время как вкладка "Ожидание" открыта, следующая проблема может быть вашей проблемой! Возможно, вы не видите весь свой фильтр (т.е. Некоторые из фильтров могут отсутствовать). Наведите указатель мыши на свою панель окна под фильтром, пока ваш курсор не изменится, чтобы вы могли развернуть панель окна фильтра. Существует фильтр, который может содержать: "Файлы, которые соответствуют любому из следующих путей к файлу:" Убедитесь, что выбран неправильный путь к файлу. Либо удалите фильтр, либо выберите "Выбор текущего депо или дерева рабочей области".

Ответ 2

Я считаю, что у вас есть другой путь для вашего клиента, и ваш код находится в другом пути. Из вашей ошибки P4V я вижу, что путь:

c:\Users\user.Name\Documents\Code\My_Project

Но ваш корневой путь клиента:

C:\Users\User.Name\Documents\Visual Studio 2010\Projects\Omega

В приведенном выше сценарии путь только до "C:\Users\User.Name\Documents" является общим, после чего ваш корень клиента и корень вашего проекта отличаются. Если вы хотите проверить код из папки My_Project, измените корень клиента, чтобы указать на это. Вы можете сделать это в командной строке

p4 client <client name>

Или измените его в представлении рабочей области P4V.

Кроме того, обязательно используйте "" вокруг вашего пути, так как оно имеет имя папки с пробелом.

Надеюсь, что это поможет.

Ответ 3

Ошибка "oops", которую вы можете сделать, заключается в том, что в Visual Studio 2012 выбрано неправильное рабочее пространство. Просто сделал это и провел несколько минут, царапая себе голову.

Ответ 4

Я предполагаю, что у Perforce возникают проблемы с пробелами на вашем пути. Попробуйте помещать кавычки вокруг него.

Из http://www.perforce.com/perforce/doc.current/manuals/p4guide/03_using.html:

Пробелы в именах файлов, путях и идентификаторах Используйте кавычки для заключать файлы или каталоги, содержащие пробелы. Например: "//depot/dev/main/docs/manuals/recommended configuration.doc" Если вы указать пробелы в именах для других объектов Perforce, таких как ветвь имена, имена клиентов, имена ярлыков и т.д., пробелы автоматически преобразуется в символы подчеркивания сервером Perforce.

Ответ 6

Проверьте путь, указанный в корне клиента. Если это не допустимый путь, вы сталкиваетесь с этой ошибкой

Root:   /a/b/c/d

Если это недействительный корень, вы получите следующую ошибку

Path '/a/b/c/d/...' is not under client root '/a/b/c/d'

Просто исправьте путь, на который указывает Root, и вы должны быть в порядке

Ответ 7

Эта точная проблема была связана с моим "PENDING VIEW". В то время у него был фильтр поиска для рабочего пространства по умолчанию, и в любое время, когда я переключился на другое рабочее пространство, он отобразил диалоговое окно с ошибкой.

Сделка заключалась в изменении имени рабочей области, и фильтр больше недействителен.

Я очистил фильтр (в ожидании), и ошибка исчезла.