когда я пытаюсь добавить файлы в список изменений, я продолжаю получать файлы ошибок не в файлах, а не в представлении клиента

Когда я пытаюсь добавить файлы из командной строки, я получаю сообщение об ошибке, в котором говорится, что файлы не отображаются в клиентском представлении, что это означает?

createdCLNumber = p4.save_change(changeList)[0].split()[1]
>>> createdCLNumber
'1157539'
>>> p4.run_add("-c", createdCLNumber, "/Users/ciasto/ciasto_piekarz/sandbox/main/upgrade_tools/upgrade_gitlab")
Traceback (most recent call last):

P4.P4Exception: [P4#run] Warnings during command execution( "p4 add -c 1157539 /Users/ciasto/ciasto_piekarz/sandbox/main/upgrade_tools/upgrade_gitlab" )

        [Warning]: '/Users/ciasto/ciasto_piekarz/sandbox/main/upgrade_tools/upgrade_gitlab - file(s) not in client view.'

person Ciasto piekarz    schedule 02.06.2020    source источник


Ответы (1)


Ошибка означает, что файл, который вы пытаетесь добавить, отсутствует в вашем клиентском представлении.

Согласно сообщению об ошибке, локальный файл:

/Users/ciasto/ciasto_piekarz/sandbox/main/upgrade_tools/upgrade_gitlab

Находится ли этот путь под Root вашего клиента, и View сопоставляет его с путем депо? В противном случае не существует определенного пути депо, к которому он будет add привязан.


Время незапрашиваемых советов: я бы настоятельно рекомендовал получить некоторые базовые знания о Perforce из командной строки, прежде чем пытаться автоматизировать рабочие процессы Perforce с помощью P4Python! Намного проще исправить простые ошибки новичка, подобные этой, и получить представление об основных концепциях (например, о том, как определять клиентские рабочие пространства и использовать их для взаимодействия с файлами депо), если вы вводите команды на интерактивная подсказка, чем если бы вам нужно было изменить сценарий и начинать с нуля для каждого сеанса отладки. Все, что вы изучаете в командной строке, соответствует 1: 1 API Python, поэтому знания передаются очень хорошо. API разработан для людей, которые уже знакомы с командами и моделями данных Perforce, поэтому люди, которые погружаются в него, не зная Perforce заранее, всегда в конечном итоге чувствуют себя очень потерянными. Я видел это сто раз.

(Почти каждый раз, когда я даю этот совет, люди игнорируют его, потому что у них «нет времени» научиться использовать интерфейс командной строки, прежде чем приступить к написанию своего сценария, но я могу гарантировать, что вы потратите около месяца на обучение как использовать Perforce через P4Python, когда вы могли бы освоить его за один день возни в терминале.)

person Samwise    schedule 02.06.2020
comment
есть очень специфический вариант использования, и в будущем он может даже не использоваться на моем рабочем месте. одна вещь, которую я заметил, perforce python api пытается действовать волшебным образом, когда каждый файл, который должен быть добавлен к отправляемому пути песка, связан с номером списка изменений, общедоступные функции python должны запрашивать номер списка изменений, а создание номера списка изменений должно быть обязательно. - person Ciasto piekarz; 02.06.2020
comment
как я уже сказал, никто никогда не прислушивается к советам. :) Вам нужно будет получить знания о том, как все это работает, несмотря ни на что, но решать вам, делать это простым или сложным путем. - person Samwise; 02.06.2020
comment
Кстати, я прохожу через API ... Я использую perforce view только 3 месяца. Я ценю ваши усилия и восхищаюсь направлением, которое вы мне даете. Спасибо - person Ciasto piekarz; 02.06.2020