Error: Can't clobber writable file : //file name//
Solution: When you try to sync a file, perforce expects your files in workspace will have read-only permissions. But if a file is not checkout,(by p4 edit)but has write permission then it will throw the above error. Changing the file to read-only and syncing again will solve the issue. or try removing the workspace and get the latest revision again.
I was using Perforce Software version not the CLI. What worked for me was, I changed the entire project permission to read only and closed the Perforce and opened it again. And then it was able to sync with the cloud.
p4 sync -f will force an unopened file to be updated, whether or not it is out of date, and whether or not it is writable. (Open files are still skipped.)
It works
The "can't clobber writable" file error happens because Perforce is very cautious about accidentally overwriting ("clobbering") work that you've done in your workspace.
The normal Perforce workflow is to
p4 sync
a file (which puts it into your workspace as read-only) and then top4 edit
it if you want to modify it (this makes it writable). A file that has been opened withp4 edit
will always be skipped byp4 sync
(except to safely schedule aresolve
if needed), and will be included by ap4 submit
.If a file is not open, but is writable, it means that something has gone wrong in this workflow, e.g. you manually made the file writable to make changes to it, and if
sync
updates this file, your changes will be lost! So the default behavior ofsync
is to skip updating writable files.With that explanation out of the way, here are some options:
p4 sync -f
will force an unopened file to be updated, whether or not it is out of date, and whether or not it is writable. (Open files are still skipped.)p4 edit
will open the file. From there your options arep4 revert
(discarding your changes) orp4 submit
(submitting your changes).Changing
noclobber
toclobber
in your client spec removes safeguards against clobbering writable files.Changing
noallwrite
toallwrite
makes all files writable by default, which implicitly removes thenoclobber
safeguard. In current versions of the server it also enables the "safe sync" option (p4 sync -s
) by default, forcing digest computations on all files before updating them. This is slower than relying on the write bit, but much more accurate. Note that if you work on files without opening them, you still run the risk of not having them included in yoursubmit
-- thep4 reconcile
command is your friend here.