2013-04-23 7 views
6

У меня есть unhelved cl, содержащий файл 'add', называемый foo.txt. Когда я возвращаю этот список изменений, foo.txt исчезает из моей рабочей области, но остается на моем hdd.Возврат неиспользуемых файлов в perforce

p4 unshelve -f -s $A -c default :: unshelving add foo.txt 
p4 revert -c default //MY_WORKSPACE/... :: foo.txt is reverted 
p4 opened -C MY_WORKSPACE :: shows none 

Когда я открываю рабочее пространство, я все еще вижу foo.txt.

есть способ удалить добавленный файл? (За исключением очевидного удаления его вручную)

+2

Это не имеет никакого отношения к удалению. Ваш вопрос действительно о возврате * добавленных * файлов. – jamesdlin

+0

Возможный дубликат [Perforce: «удалить из рабочей области» из командной строки?] (Http://stackoverflow.com/questions/2314848/perforce-remove-from-workspace-from-command-line) – raven

+0

@raven Это ничего не значит «удалить из рабочего пространства». Речь идет о том, что происходит с локальным файлом, после 'p4 add', за которым следует' p4 revert'. (С 'shelve',' unshelve', брошенным, чтобы усложнить ситуацию). –

ответ

0

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

+0

Не нужно ли возвращать функцию? – Twisted

+0

@Twisted: мышление, вероятно, опасно для команды 'revert', потому что, если вы делаете это случайно, вы, вероятно, потеряете значительную часть работы. (Возможно, они могли бы добавить опцию командной строки для 'revert', чтобы сделать это, хотя.) – jamesdlin

+0

Ну, пришло время пересмотреть мои знания сценариев оболочки. – Twisted

2

Такое поведение по дизайну.

http://www.perforce.com/perforce/doc.current/manuals/p4guide/04_files.html

отбрасывая изменения (возвращаясь)

Чтобы удалить открытый файл из список изменений и отменить любые изменения, сделанные вами, выпуск Р4 возвращается команду. Когда вы возвращаете файл, Perforce восстанавливает последнюю версию , синхронизированную с вашей рабочей областью. Если вы отмените файл, который открыт для , добавьте его, файл будет удален из списка изменений, но он не будет удален из вашего рабочего пространства.

2

Выполнение команды REVERT с -w флагом будут удалены все файлы, помеченные для оных во время Revert (см p4_revert docs)

p4 revert -w [file specification]

например, p4 revert -w -c default //MY_WORKSPACE/... (foo.txt удаляется с диска , затем вернется)

+1

Это отличное решение!Обратите внимание, что для «revert -w» требуется, чтобы ваш сервер находился в версии 2013.2 или выше. –