[Lazarus] Developing on Linux with files on Windows NTFS

Mattias Gaertner nc-gaertnma at netcologne.de
Thu Feb 5 17:14:01 CET 2015


On Thu, 05 Feb 2015 10:53:40 -0500
Donald Ziesig <donald at ziesig.org> wrote:

> Hi All!
> 
> I have been trying to develop a multi-platform app with the IDE on Linux 
> (MInt) and the source files on a Windows NTFS partition.   I build and 
> test on windows but my primary work is done on linux so I don't stay 
> logged in to windows very long.
> 
> The problem I am having is that the Linux version of the IDE seems to 
> get confused by windows time stamps (at least that's what the symptoms 
> suggest).  When I save an edited file (either code or form), the IDE 
> frequently (but not always) opens a copy of that file in a separate tab 
> and complains when I edit and save one of the two instances.  

This means the IDE thinks these are two separate files. For example
when you mount a case insensitive file system (FAT, NTFS, Samba share)
under Linux, the IDE does not know and assumes it is case sensitive.
For the Linux IDE the file 'a.pas' and 'A.pas' are two different
files.
Note: Some functions of IDE uses heuristics to figure out such cases,
but not all.


> It sometimes deletes the most recent edit, other times the obsolete file.
> 
> I haven't found a windows driver for ext4 that doesn't warn of potential 
> corruption of the ext4 file system, otherwise I would develop with the 
> source on linux and occasionally build on windows.
> 
> One alternative is to keep the master source on linux and copy it all to 
> NTFS when I build/test on windows, but that has its own set of issues.
> 
> Has anyone had any success in using common storage for multi-platform 
> source code?  If so, how do you do it?

I strongly recommend to use a version control system like svn, git, etc.
Not only will it handle OS differences (e.g. line endings, access
rights), it gives you backups and diffs.

If you want to use a shared filesystem, then make all file names and
uses sections lower case.

Mattias




More information about the Lazarus mailing list