{"thread":{"id":"18422","subject":"Re: git-svn and incorrect working copy file timestamps?","startedAt":"2009-03-19T23:02:01Z","lastAt":"2009-03-19T23:02:01Z","messageCount":1,"participants":["Guido Ostkamp"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"108611","messageId":"alpine.LSU.2.01.0903192355590.29898@bianca.dialin.t-online.de","threadId":"18422","inReplyTo":null,"subject":"Re: git-svn and incorrect working copy file timestamps?","fromName":"Guido Ostkamp","fromEmail":"git@ostkamp.fastmail.fm","sentAt":"2009-03-19T23:02:01Z","receivedAt":"2009-03-19T23:02:01Z","isPatch":false,"sender":{"key":"git@ostkamp.fastmail.fm","avatar":null},"body":"> I learned from http://marc.info/?l=git&m=122783905206964&w=2 that all \n> Git commands do not preserve file timestamps because Git, by design, \n> does not record timestamps in the tree objects.  So, in order to see the \n> last time a particular file changed, you must examine the commit log. \n> I guess I'll just have to get used to ignoring the working copy file \n> timestamps.\n\nAs far as I know setting the current time is required when switching \nbetween different named branches in the same repository.\n\nIt can happen that a branch switch ('checkout' in Git's terminology) \nretrieves an older version of a source file, and then the Makefile would \nnot detect that an object file (a result from earlier compilation that is \nof course not stored in the repo itself) has to be rebuild because this is \nbased on time checks only. In order to avoid this, the source file (even \nif older) gets the current date, so it is in any case newer than the \nobject file and causes an automatic rebuild.\n\nRegards\n\nGuido\n"}]}