Overwrite / Merge / Skip prompt displayed nearly every time file is saved
Hi all,
I am running into an extremely tedious issue with my phpStorm configuration. This problem comes and goes every few months, and I cannot find any consistent source-of or fix-to the issue.
I have phpStorm configured with a remote deployment so files are uploaded on-save from my local Windows box to a remote Ubuntu development server. On-save files are Reformatted (PSR-2), imports are optimized, and uploaded to the remote server automatically. This happens on explicit Save or when files are modified via automated operations like using Refactor to change an object name or perform a search and replace.
The issue is that I am constantly being warned that the file has changed on the remote server:
I cannot find any consistent behavior regarding why / when the above prompt is thrown. When working a single file and saving several times over 2-3 minutes, I may save a few times without issue, then the next few saves will throw the prompt, and then a few more without being prompted. It feels totally random and it happens whether my "Warn" setting is configured to compare by timestamp + size or content.
Also, the "Remember for this upload. Do not ask again." seems to do absolutely nothing. Perhaps because I am only uploading (saving) a single file at a time so there isn't really anything to remember.
I believe the prompt will go away if I uncheck the "Notify of remote changes" option but that also prevents me from being informed when my local file is no longer in-sync with the file on remote, which is pretty vital for my use-case.
I've tried reindexing the project, clearing various caches, etc. without success. And as mentioned above, this problem is pretty consistent for me. It will go away for months and then something will kick it off again and I will have weeks of being prompted to overwrite files that AFAIK should already be current. I hope someone has an idea because this is driving me nuts.
Here are the "Actions on Save" and "Deployment: Options" configs from my IDE:
When working a file
请先登录再写评论。
Hi there,
Not 100% sure but this could be the difference in timestamps. I'm facing similar issues myself from time to time (Windows 10 here, FTP server is IIS from Windows Server 2016).
Have a look at this ticket: https://youtrack.jetbrains.com/issue/WI-69494
In short: you can enable extra logging for FTP subsystem, do your deployments so it shows this dialog and then check the idea.log for details -- the timestamp might differ by a second or so.
Could that be your case here as well?
I did a "watch stat -n 0.1 /my/file/path" on the remote server and noted with each save, the Modified date of the file changes two times when the "Reformat on save" option is disabled:
- i click save
- file modified date on server changes two times
With "Reformat on save" enabled it looks like this:
- i click save
- file modified date on server changes two times
- i am prompted that the file has changed on remote
- i click overwrite
- file modified date on server changes two more times
It seems unchecking "Reformat on save" will prevent the prompt from showing up, but this is not a real fix for me since I need to ensure all my submitted code is PSR-2 formatted.
Ill keep looking, but it seems some progress is being made!
1. What file types are those? PHP only or any file type?
2. What is your Reformat settings? In particular -- any external formatters.
1. Seems to be any file type for which I have the Reformat option enabled - usually TWIG, CSS, or PHP.
2. Here is the formatter config:
My full "Actions on Save" config is above, but in summary it reformats and optimizes imports but there is no Eslint or Prettier or File watchers at play.
OK. So it's any file type. Not sure then.
For PHP I was thinking about this one:
Apparently if one of them is used it can cause some "confusion" in the IDE (in particular it may think that the file was modified outside by some unknown tool...)
I think you better report it to the Issue Tracker with your logs (attachments can have custom visibility) for support team to look into.