Capitalization changes are ignored within directories
See original GitHub issueWhen the capitalization of a file or directory is changed within a directory, the previous capitalization is still uploaded on all future syncs, even if the extension is uninstalled, code is restarted and the extension is reinstalled.
To Reproduce Steps to reproduce the behavior: create a file
test/Test.txt
upload the file
[info] local ➞ remote ...test/Test.txt
rename the file
test/text.txt
upload the file
[info] local ➞ remote ...test/Test.txt
Expected behavior The file that is uploaded should match the capitalization of the local file. This is the current behavior when changing file capitalization in the root project directory.
Desktop (please complete the following information):
- OS: Mac
- VSCode 1.49.2
- Extension Version 1.12.9
Extension Logs from Startup - required
[09-30 11:18:27] [debug] register command “Cancel All Transfer” from “./commandCancelAllTransfer.ts” [09-30 11:18:27] [debug] register command “Config” from “./commandConfig.ts” [09-30 11:18:27] [debug] register command “List Active Folder” from “./commandListActiveFolder.ts” [09-30 11:18:27] [debug] register command “Open Ssh Connection” from “./commandOpenSshConnection.ts” [09-30 11:18:27] [debug] register command “Set Profile” from “./commandSetProfile.ts” [09-30 11:18:27] [debug] register command “Toggle Output Panel” from “./commandToggleOutputPanel.ts” [09-30 11:18:27] [debug] register command “Upload Changed Files” from “./commandUploadChangedFiles.ts” [09-30 11:18:27] [debug] register command “Delete Remote” from “./fileCommandDeleteRemote.ts” [09-30 11:18:27] [debug] register command “Diff” from “./fileCommandDiff.ts” [09-30 11:18:27] [debug] register command “Diff Active File” from “./fileCommandDiffActiveFile.ts” [09-30 11:18:27] [debug] register command “Download” from “./fileCommandDownload.ts” [09-30 11:18:27] [debug] register command “Download Active File” from “./fileCommandDownloadActiveFile.ts” [09-30 11:18:27] [debug] register command “Download Active Folder” from “./fileCommandDownloadActiveFolder.ts” [09-30 11:18:27] [debug] register command “Download File” from “./fileCommandDownloadFile.ts” [09-30 11:18:27] [debug] register command “Download Folder” from “./fileCommandDownloadFolder.ts” [09-30 11:18:27] [debug] register command “Download Force” from “./fileCommandDownloadForce.ts” [09-30 11:18:27] [debug] register command “Download Project” from “./fileCommandDownloadProject.ts” [09-30 11:18:27] [debug] register command “Edit In Local” from “./fileCommandEditInLocal.ts” [09-30 11:18:27] [debug] register command “List” from “./fileCommandList.ts” [09-30 11:18:27] [debug] register command “List All” from “./fileCommandListAll.ts” [09-30 11:18:27] [debug] register command “Reveal In Explorer” from “./fileCommandRevealInExplorer.ts” [09-30 11:18:27] [debug] register command “Reveal In Remote Explorer” from “./fileCommandRevealInRemoteExplorer.ts” [09-30 11:18:27] [debug] register command “Sync Both Directions” from “./fileCommandSyncBothDirections.ts” [09-30 11:18:27] [debug] register command “Sync Local To Remote” from “./fileCommandSyncLocalToRemote.ts” [09-30 11:18:27] [debug] register command “Sync Remote To Local” from “./fileCommandSyncRemoteToLocal.ts” [09-30 11:18:27] [debug] register command “Upload” from “./fileCommandUpload.ts” [09-30 11:18:27] [debug] register command “Upload Active File” from “./fileCommandUploadActiveFile.ts” [09-30 11:18:27] [debug] register command “Upload Active Folder” from “./fileCommandUploadActiveFolder.ts” [09-30 11:18:27] [debug] register command “Upload File” from “./fileCommandUploadFile.ts” [09-30 11:18:27] [debug] register command “Upload Folder” from “./fileCommandUploadFolder.ts” [09-30 11:18:27] [debug] register command “Upload Force” from “./fileCommandUploadForce.ts” [09-30 11:18:27] [debug] register command “Upload Project” from “./fileCommandUploadProject.ts” [09-30 11:18:27] [trace] run command ‘Config’ [09-30 11:18:49] [info] config at [redacted]/dev/caps-test {“remotePath”:“dev/caps-test”,“uploadOnSave”:true,“downloadOnOpen”:false,“ignore”:[],“concurrency”:4,“protocol”:“sftp”,“connectTimeout”:10000,“interactiveAuth”:false,“secure”:false,“remoteTimeOffsetInHours”:0,“name”:“My Server”,“host”:“[redacted]”,“port”:22,“username”:“******”} [09-30 11:19:07] [warn] ENOENT: no such file or directory, open ‘[redacted]/.ssh/config’ load [redacted]/.ssh/config failed [09-30 11:19:09] [info] [file-save] [redacted]/dev/caps-test/test/Test.txt [09-30 11:19:09] [trace] handle upload file for [redacted]/dev/caps-test/test/Test.txt [09-30 11:19:12] [debug] Local ident: ‘SSH-2.0-ssh2js0.4.5’ [09-30 11:19:12] [debug] Client: Trying [redacted] on port 22 … [09-30 11:19:12] [debug] Client: Connected [09-30 11:19:12] [debug] Remote ident: ‘SSH-2.0-OpenSSH_7.4’ [09-30 11:19:12] [debug] Outgoing: Writing KEXINIT [09-30 11:19:12] [debug] DEBUG: Comparing KEXINITs … [09-30 11:19:12] [debug] (local) KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1 [09-30 11:19:12] [debug] (remote) KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 [09-30 11:19:12] [debug] KEX algorithm: ecdh-sha2-nistp256 [09-30 11:19:12] [debug] (local) Host key formats: ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 [09-30 11:19:12] [debug] (remote) Host key formats: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 [09-30 11:19:12] [debug] Host key format: ssh-ed25519 [09-30 11:19:12] [debug] (local) Client->Server ciphers: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm,aes128-gcm@openssh.com,aes256-gcm,aes256-gcm@openssh.com [09-30 11:19:12] [debug] (remote) Client->Server ciphers: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc [09-30 11:19:12] [debug] Client->Server Cipher: aes128-ctr [09-30 11:19:12] [debug] (local) Server->Client ciphers: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm,aes128-gcm@openssh.com,aes256-gcm,aes256-gcm@openssh.com [09-30 11:19:12] [debug] (remote) Server->Client ciphers: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc [09-30 11:19:12] [debug] Server->Client Cipher: aes128-ctr [09-30 11:19:12] [debug] (local) Client->Server HMAC algorithms: hmac-sha2-256,hmac-sha2-512,hmac-sha1 [09-30 11:19:12] [debug] (remote) Client->Server HMAC algorithms: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 [09-30 11:19:12] [debug] Client->Server HMAC algorithm: hmac-sha2-256 [09-30 11:19:12] [debug] (local) Server->Client HMAC algorithms: hmac-sha2-256,hmac-sha2-512,hmac-sha1 [09-30 11:19:12] [debug] (remote) Server->Client HMAC algorithms: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 [09-30 11:19:12] [debug] Server->Client HMAC algorithm: hmac-sha2-256 [09-30 11:19:12] [debug] (local) Client->Server compression algorithms: none,zlib@openssh.com,zlib [09-30 11:19:12] [debug] (remote) Client->Server compression algorithms: none,zlib@openssh.com [09-30 11:19:12] [debug] Client->Server compression algorithm: none [09-30 11:19:12] [debug] (local) Server->Client compression algorithms: none,zlib@openssh.com,zlib [09-30 11:19:12] [debug] (remote) Server->Client compression algorithms: none,zlib@openssh.com [09-30 11:19:12] [debug] Server->Client compression algorithm: none [09-30 11:19:12] [debug] Outgoing: Writing KEXECDH_INIT [09-30 11:19:12] [debug] DEBUG: Checking host key format [09-30 11:19:12] [debug] DEBUG: Checking signature format [09-30 11:19:12] [debug] DEBUG: Verifying host fingerprint [09-30 11:19:12] [debug] DEBUG: Host accepted by default (no verification) [09-30 11:19:12] [debug] DEBUG: Verifying signature [09-30 11:19:12] [debug] Outgoing: Writing NEWKEYS [09-30 11:19:12] [debug] Outgoing: Writing SERVICE_REQUEST (ssh-userauth) [09-30 11:19:12] [debug] Outgoing: Writing USERAUTH_REQUEST (none) [09-30 11:19:12] [debug] Client: none auth failed [09-30 11:19:12] [debug] Outgoing: Writing USERAUTH_REQUEST (password) [09-30 11:19:12] [debug] Outgoing: Writing CHANNEL_OPEN (0, session) [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_REQUEST (0, subsystem: sftp) [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing MKDIR [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing MKDIR [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing MKDIR [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing OPEN [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing FSTAT [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing FSETSTAT [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing FSETSTAT [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [debug] Outgoing: Writing CLOSE [09-30 11:19:13] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:13] [info] local ➞ remote [redacted]/dev/caps-test/test/Test.txt [09-30 11:19:20] [info] [file-save] [redacted]/dev/caps-test/test/Test.txt [09-30 11:19:20] [trace] handle upload file for [redacted]/dev/caps-test/test/Test.txt [09-30 11:19:20] [debug] Outgoing: Writing MKDIR [09-30 11:19:20] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:22] [debug] Outgoing: Writing LSTAT [09-30 11:19:22] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:22] [debug] Outgoing: Writing OPEN [09-30 11:19:22] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:22] [debug] Outgoing: Writing FSTAT [09-30 11:19:22] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:24] [debug] Outgoing: Writing FSETSTAT [09-30 11:19:24] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:24] [debug] Outgoing: Writing FSETSTAT [09-30 11:19:24] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:24] [debug] Outgoing: Writing CLOSE [09-30 11:19:24] [debug] Outgoing: Writing CHANNEL_DATA (0) [09-30 11:19:24] [info] local ➞ remote [redacted]/dev/caps-test/test/Test.txt [09-30 11:19:27] [trace] run command ‘Toggle Output Panel’ [09-30 11:19:43] [debug] Outgoing: Writing ping (GLOBAL_REQUEST: keepalive@openssh.com)
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:8

Top Related StackOverflow Question
I found a somewhat nuclear workaround. If you delete (on Mac OS)
~/Library/Application Support/Code/User/workplaceStorage, the plugin will forget about previously know paths. Not sure where the equivalent is on Linux or Windows unfortunately.Of course, always be careful when doing manual file manipulation like this, and be sure to make a backup if you’re worried about borking your install.
@joelakuhn Thanks a lot , Working for me , I also searched in this direction and dindn’t found anything Thanks