@anno73 said in Notepad++ resets file permission bits for WSL files on save:
I use npp to edit script files on Windows that I then call from within WSL
Generally - do not change Linux files using Windows apps directly, use rather the @Ekopalypse way instead:
@Ekopalypse said in Notepad++ resets file permission bits for WSL files on save:
I edit the scripts via the network share \wsl$\Ubuntu…
Windows file metadata (timestamps, permissions, ownership…) != *nix ones!
WSL is the translation layer here…
@anno73 said in Notepad++ resets file permission bits for WSL files on save:
Whenever I now save a script in npp, the executable bit gets cleared. This is not the case if I use Windows’ native notepad.exe instead
Hmm, there is a possibility that it is a N++ fault, I will try to check it later.
N++ for some complicated reason (long story short - the file-storage in heterogeneous systems/networks is a real Hell!) can use the WINAPI disposition parameter CREATE_ALWAYS under certain circumstances, which I suspect could be the culprit here, as it then effectively creates a completely new file instead of editing the original one (where you set that executable-bit before). In your case this should not happen (the TRUNCATE_EXISTING should be used instead) but who knows, this needs your STR debugging.
@mkupper said in Notepad++ resets file permission bits for WSL files on save:
Notepad++ has always used Microsoft’s C Runtime (CRT) library for file I/O.
This partially does not apply to file-writing from the v8.1.6+. N++ has been forced to start using the CreateFile WINAPI (to overcome severe Windows caching issues leading to possible data loss when Windows forcibly restarts or crashes). See e.g. here.
@Alan-Kilborn said in Notepad++ resets file permission bits for WSL files on save:
Anyone else reading this topic not knowing what WSL means?
A good start for usage and installation is described here.