Erreur: fichier inscriptible impossible: // nom du fichier //
Solution: Lorsque vous essayez de synchroniser un fichier, perforce s'attend à ce que vos fichiers dans l'espace de travail disposent d'autorisations en lecture seule. Mais si un fichier n'est pas extrait (par P4 edit) mais dispose d'un droit d'écriture, l'erreur ci-dessus sera générée. Changer le fichier en lecture seule et la synchroniser à nouvea résoudra le problème. ou essayez de supprimer l’espace de travail et obtenez à nouveau la dernière révision.
L'erreur de fichier "ne peut pas écrire en écriture" se produit parce que Perforce est très prudent en ce qui concerne le remplacement accidentel ("l'image") du travail que vous avez effectué dans votre espace de travail.
Le flux de travail Perforce normal consiste à p4 sync
_ un fichier (qui le met dans votre espace de travail en lecture seule), puis à p4 edit
it si vous voulez le modifier (cela le rend accessible en écriture). Un fichier qui a été ouvert avec p4 edit
sera toujours ignoré par p4 sync
(sauf pour programmer en toute sécurité un resolve
si nécessaire), et sera inclus par un p4 submit
.
Si un fichier n'est pas ouvert, mais est accessible en écriture, cela signifie que quelque chose s'est mal passé dans ce flux de travail, par exemple. vous avez manuellement rendu le fichier accessible en écriture pour y apporter des modifications, et si sync
met à jour ce fichier, vos modifications seront perdues! Le comportement par défaut de sync
consiste donc à ignorer la mise à jour des fichiers accessibles en écriture.
Avec cette explication à l'écart, voici quelques options:
p4 sync -f
forcera la mise à jour d’un fichier non ouvert, qu’il soit périmé ou non, et qu’il soit en écriture ou non. (Les fichiers ouverts sont toujours ignorés.)
p4 edit
ouvrira le fichier. De là, vos options sont p4 revert
(en ignorant vos modifications) ou p4 submit
(soumettant vos modifications).
Remplacer noclobber
par clobber
dans les spécifications de votre client supprime les mesures de protection contre les fichiers inscriptibles.
Changer noallwrite
en allwrite
rend tous les fichiers accessibles en écriture, par défaut, ce qui supprime implicitement la sauvegarde noclobber
. Dans les versions actuelles du serveur, l'option "Synchronisation sécurisée" (p4 sync -s
) par défaut, forçant les calculs de synthèse sur tous les fichiers avant de les mettre à jour. C'est plus lent que de compter sur le bit d'écriture, mais beaucoup plus précis. Notez que si vous travaillez sur des fichiers sans les ouvrir, vous courez le risque de ne pas les avoir inclus dans votre submit
- le p4 reconcile
commande est votre ami ici.