Удалите рабочую область клиента Perforce с отложенными файлами, когда рабочая область уже удалена с диска?

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

Предостережение:

  • p4 только для командной строки; не p4v gui
  • регулярный доступ пользователя; без доступа администратора.

Сценарий:

  • создайте рабочее пространство с именем user_workspace на диске в каталоге ~/my_workspace
  • p4 редактируйте файлы в рабочей области в ожидающем изменения списке изменений
  • удалить рабочее пространство вручную (rm -rf ~/my_workspace)
    • Рабочее пространство
    • все еще существует на сервере с отложенными файлами

Решения, которые не работают:

1: Удалить рабочее пространство

Не работает, потому что в рабочей области есть файлы, открытые.

p4 client -d user_workspace

Клиент user_workspace имеет файлы, открытые; используйте -f для принудительного удаления.

2: Удалить рабочее пространство с силой

Не работает, потому что не админ.

p4 client -d -f user_workspace

У вас нет разрешения на эту операцию.

3: удалить ожидающий список изменений; затем удалите рабочую область (попробуйте 1)

p4 changes -c user_workspace -s pending

Только списки ожидающих списков списков, не обрабатывает ожидающий изменения список изменений.

p4 -c user_workspace -d changelist_number

Невозможно, потому что нет измененного списка для ожидающего списка изменений.

4: удалить ожидающий список изменений; затем удалите рабочее пространство (попробуйте 2)

Попытка сделать p4-ретрансляцию в каталоге, который больше не существует, дает странную ошибку.

p4 revert ~/my_workspace

/home/user/my_workspace - должен ссылаться на клиентский_ user_workspace.

p4 -c user_workspace revert ~/my_workspace

/home/user/my_workspace - должен ссылаться на клиентский_ user_workspace.

setenv P4CLIENT user_workspace; p4 -c user_workspace revert ~/my_workspace

/home/user/my_workspace - должен ссылаться на клиентский_ user_workspace.

Ответы

Ответ 1

1. Отменить ожидающий список изменений

Необходимо использовать нотацию Perforce depot вместо обозначения локального каталога, поскольку локальный каталог больше не существует.

p4 -c user_workspace revert -k //...

//blah/blah/blah/file # rev - было редактирование, возврат

2. Удалить рабочую область клиента

p4 client -d user_workspace

Клиент user_workspace удален.

Ответ 2

это даст вам ожидающие изменения на клиенте

p4 changes -c user_workspace

это приведет к удалению ожидающего списка изменений по вашему выбору.

p4 change -d <change list number>

после этого вы можете удалить клиента, используя

p4 client -d user_workspace 

Ответ 3

Командная строка не работала для меня. Он продолжал сообщать "о лицензионной квоте" для любых команд. Вероятно, у меня что-то настроено неправильно. Это означало бы, что я должен сначала исправить эту проблему, а затем использовать вышеупомянутое решение. Тем не менее, я нашел другой способ исправить эту проблему, используя клиент p4v.

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~

* Альтернативно: попробуйте выполнить эти четыре шага, используя только клиент p4v *

Во-первых, [мне нужно] отредактировать рабочее пространство и просто вычеркнуть поле хоста при изменении имени моего компьютера. В другом потоке, который я прочитал, это позволяет редактировать с любого компьютера. Во-вторых, [мне нужно было] переключиться на рабочее пространство, как я теперь мог. В-третьих, [мне нужно] вернуть файлы в представлении WORKSPACE, не нужно было синхронизировать файлы с моей локальной машиной. Наконец, [я смог] удалить рабочее пространство после перехода на вкладку рабочих областей.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~

Надеюсь, это поможет кому-то.

Ответ 4

Написал этот script, называемый p4-delete-client для удаления p4-клиента (который имеет списки изменений и другие проблемы).
Он имеет следующие функции:

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

Обратите внимание, что script полагается на другие сценарии в repo.

Ответ 5

Команда rm -rf удаляет только файлы в вашей системе, рабочее пространство все еще существует в perforce. Если вы хотите удалить его, сначала необходимо вернуть файлы.

p4 revert ~/my_workspace p4 client -d user_workspace