On Tue, 6 Jun 2017 23:25:03 +0100, Graeme Geldenhuys <[email protected]> wrote:
>> So it tries to "fix" this by making fake commits or something similar. > >I guess its trying to fix a hack with a hack. ;-) > I will have to get into understanding GIT operations more so I can see the existing tags, right now I am only seeing the output of the conversion process. Have to read the manual... Maybe the extra tags are all gone by now? >> I can go elsewhere and clone the created repository at which time I >> am getting the HEAD revision checked out. Relevant files compare fine > >Perfect. > Yes, it seems like at least HEAD is OK. :) For a very simple project that is, I will have a look at the Android App project later, it is not my baby but it is huge in comparison to the Pascal projects I usually work on both concerning number of files tracked and file system directory depth... > >> except they are not the correct timestamp. > >Git only tracks file contents, and some extra commit related metadata. >Timestamps are really irrelevant when it comes to managing file content >changes over time. > Well, CVS(NT) handles the timestamps as follows: - At commit it stores the UTC time of the commit with the file in the repository. Note that it is not the filesystem time stamp. - At checkout it applies these timestamps to the local files so it is possible to get a picture of the state at commit time wise. The time is set depending on the state of the client computer regarding time zone, DST etc. - At updates (when changes made by other developers are retrieved) the file is stamped with the local timoe of update. This is done to insure that any make process following will recompile the file, it is just as if the local developer had modified the file. What file gets compiled at build time depends entirely on how the development environment is thinking, i.e. make compares the object file and source fiile time stamps for this and some IDE:s with built-in intelligence do the same I assume. So time stamp handling is not that important really it's just that I observed the difference when comparing the GIT version of a project with what I had in my CVS sandbox. And it only applies to a clean checkout in CVS, otherwise the current time is what one gets. Anyway, make clean usually is what is initially used after getting other people's contributions, right? For C projects at least. I don't know how Lazarus handles the selection of files to compile, though. Or is it an FPC determination? Could be either the compiler or the development IDE handling that... -- Bo Berglund Developer in Sweden _______________________________________________ fpc-other maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other
