web-dev-qa-db-fra.com

Supprimer un espace de travail client Perforce avec des fichiers en attente s'il a déjà été supprimé du disque?

Comment supprimer un espace de travail contenant des fichiers en attente alors que cet espace de travail a déjà été supprimé du disque?

Mises en garde:

  • p4 en ligne de commande uniquement; pas p4v gui
  • accès utilisateur normal; pas d'accès administrateur

Scénario:

  • créer un espace de travail nommé user_workspace sur le disque dans le répertoire ~/my_workspace
  • p4 modifier des fichiers dans l'espace de travail de la liste de modifications en attente par défaut
  • supprimer manuellement les espaces de travail (rm -rf ~/my_workspace)
    • l'espace de travail existe toujours sur le serveur avec les fichiers en attente

Des solutions qui ne fonctionnent pas:

1: Supprimer un espace de travail

Ne fonctionne pas car les fichiers sont ouverts dans l'espace de travail.

p4 client -d user_workspace

Le client 'user_workspace' a des fichiers ouverts; utilisez -f pour forcer la suppression.

2: Supprimer l'espace de travail avec force

Ne fonctionne pas parce que pas admin.

p4 client -d -f user_workspace

Vous n'avez pas la permission pour cette opération.

3: supprimer la liste de modifications en attente; puis supprimez l'espace de travail (essayez 1)

p4 changes -c user_workspace -s pending

Seules les listes en attente des listes de modifications numérotées ne gèrent pas la liste des modifications en attente par défaut.

p4 -c user_workspace -d changelist_number

Impossible parce qu'il n'y a pas de numéro de liste de modifications pour la liste de modifications en attente.

4: supprimer la liste de modifications en attente; puis supprimez l'espace de travail (essayez 2)

Essayer de faire un retour p4 sur un répertoire qui n’existe plus donne une erreur étrange.

p4 revert ~/my_workspace

/ home/user/my_workspace - doit faire référence au client 'user_workspace'.

p4 -c user_workspace revert ~/my_workspace

/ home/user/my_workspace - doit faire référence au client 'user_workspace'.

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

/ home/user/my_workspace - doit faire référence au client 'user_workspace'.

14
engtech

1. Inverser la liste de modifications en attente

Doit utiliser la notation de dépôt Perforce au lieu de la notation de répertoire local car le répertoire local n'existe plus.

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

// bla/bla/bla/fichier # rev - était édité, annulé

2. Supprimer l'espace de travail client

p4 client -d user_workspace

Client user_workspace supprimé.

31
engtech

cela vous donnera les modifications en attente sur le client

p4 changes -c user_workspace

cela supprimera la liste de modifications en attente de votre choix

p4 change -d <change list number>

après cela, vous pouvez supprimer le client en utilisant

p4 client -d user_workspace 
5
mimiA

La ligne de commande n'a pas fonctionné pour moi. Il a gardé des rapports "sur le quota de licences" pour toutes les commandes. J'ai probablement quelque chose de mal configuré lié à cela. Cela signifierait que je devrais d'abord corriger ce problème, puis utiliser la solution ci-dessus. Cependant, j'ai trouvé un autre moyen de résoudre ce problème en utilisant le client p4v.

Les espaces de travail indésirables étaient d'anciens espaces de travail de mon ordinateur précédent. Pour ceux sans fichiers extraits, j'ai pu cliquer avec le bouton droit de la souris sur Supprimer dans la vue de l'onglet Espaces de travail. Les espaces de travail avec des fichiers laissés en sortie que je n'ai pas pu supprimer, d'autres sont en train de le faire. Pour les supprimer, j'ai dû prendre quelques mesures supplémentaires.

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

* Sinon: essayez ces quatre étapes en utilisant uniquement le client p4v *

  1. Modifiez l'espace de travail et effacez tout simplement le champ Hôte de l'ancien espace de travail. Dans un autre fil, j'ai lu ceci permet l'édition depuis n'importe quel ordinateur.
  2. Basculer vers l'espace de travail
  3. Annulez les fichiers dans la vue WORKSPACE; il n'y avait pas besoin de synchroniser les fichiers sur ma machine locale
  4. Supprimez l'espace de travail après être revenu à l'onglet Espaces de travail.

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

J'espère que ça aidera quelqu'un.

3
Mike Grimm

A écrit ce script appelép4-delete-clientpour supprimer un client p4 (qui contient des listes de modifications et d'autres problèmes).
Il présente les caractéristiques suivantes:

  • supprime automatiquement les listes de modifications (rétablit les demandes en attente et supprime les mises en attente)
  • corrige le nom d'hôte (s'il diffère de celui sur lequel le client a été créé)
  • déverrouille le client s'il est verrouillé
  • supprime le client
  • supprime les fichiers associés (peut être configuré à partir d'arguments)

Notez que le script s'appuie sur d'autres scripts du repo .

0
Arnon Zilca