#perforce
#принудительно
Вопрос:
Насколько я могу судить, мой клиент настроен правильно:
$ p4 client -o
# A Perforce Client Specification.
# ...
Client: stephen-dev1-stephen
Update: 2014/06/26 17:41:14
Access: 2014/06/26 17:45:47
Owner: StephenRasku
Host: stephen-dev1
Description:
Created by StephenRasku.
Root: /home/stephen/Code
Options: noallwrite noclobber nocompress unlocked nomodtime rmdir
SubmitOptions: submitunchanged
LineEnd: local
View:
//depot/labs/products/component/SpamView-URI/... //stephen-dev1-stephen/SpamView-URI/...
//version/... //stephen-dev1-stephen/version/...
//thirdparty/... //stephen-dev1-stephen/thirdparty/...
//starteam/... //stephen-dev1-stephen/starteam/...
//specs/... //stephen-dev1-stephen/specs/...
//release/... //stephen-dev1-stephen/release/...
//projects/... //stephen-dev1-stephen/projects/...
//main/... //stephen-dev1-stephen/main/...
//features/... //stephen-dev1-stephen/features/...
//dev/... //stephen-dev1-stephen/dev/...
//depot/... //stephen-dev1-stephen/depot/...
Файлы существуют:
$ pwd
/home/stephen/Code/SpamView-URI
$ ls mainline/EBUILD_VERSION mainline/package.sh mainline/ebuild
mainline/ebuild mainline/EBUILD_VERSION mainline/package.sh
Но он жалуется, когда я пытаюсь их добавить:
$ p4 add mainline/EBUILD_VERSION mainline/package.sh mainline/ebuild
mainline/EBUILD_VERSION - file(s) not in client view.
mainline/package.sh - file(s) not in client view.
mainline/ebuild - file(s) not in client view.
В чем проблема? Я проверил файл, используя git p4 clone
, если это имеет значение.
Ответ №1:
Проверьте строки «Просмотр» в спецификации рабочей области клиента, чтобы подтвердить, что спецификация файла, используемая в вашей команде Perforce (или отображаемая в сообщении об ошибке), попадает в представление рабочей области. Например, если вы видите ошибку при попытке добавить файл, возможно, вам захочется проверить сопоставление, чтобы подтвердить, что файл находится в каталоге, который находится в вашем представлении клиента.
См. Раздел «Представление рабочей области клиента»: http://answers.perforce.com/articles/KB_Article/Common-Permissions-and-File-Access-Problems
Находятся ли файлы в этой точной структуре каталогов ниже?
/home/stephen/Code/SpamView-URI/mainline/EBUILD_VERSION
/home/stephen/Code/SpamView-URI/mainline/package.sh
/home/stephen/Code/SpamView-URI/mainline/ebuild
Судя по первой строке отображения вида:
//depot/labs/products/component/SpamView-URI/... //stephen-dev1-stephen/SpamView-URI/...
Я бы предположил, что это путь, по которому они должны находиться.
Если вы ‘cd’ в каталог ‘/ home / stephen / Code / SpamView-URI / mainline’
, сможете ли вы добавить эти файлы?
Комментарии:
1. Кажется, он игнорирует мою
SpamView-URI
строку сопоставления. Я сделалp4 sync //depot/labs/products/component/SpamView-URI/...
, и он проверил код/home/stephen/Code/depot/labs/products/component/SpamView-URI
вместо ожидаемого/home/stephen/Code/SpamView-URI
. Я переместил свои файлы в раздел..../Code/depot/....
и добавил их оттуда.
Ответ №2:
Как вы заметили, ваша спецификация клиента неверна. С помощью этих 2 строк,
//depot/labs/products/component/SpamView-URI/... //stephen-dev1-stephen/SpamView-URI/...
//depot/... //stephen-dev1-stephen/depot/...
Вы пытаетесь сопоставить файлы в //depot/labs/products/component/SpamView-URI/… с //stephen-dev1-stephen/SpamView-URI/… и //stephen-dev1-stephen/depot/labs/products/component/SpamView-URI/ … Поскольку принудительное чтение выполняется сверху вниз, оно перезапишет ваше первое сопоставление вторым сопоставлением, в основном удаляя второе сопоставление.
Переместите свой //depot/labs/products/component/SpamView-URI/... //stephen-dev1-stephen/SpamView-URI/...
на последнюю строку, и все должно быть в порядке.