Hi Johannes, On Tue, Feb 20, 2018 at 11:46:38AM +0100, Johannes Schindelin wrote: > If I were you [...] It seems all pretty straight forward, except for > I would probably invent a file format (`<mtime><TAB><path><LF>`) I'm stuck there because of <path> being munged. To obtain or set the mtime of the file, I need the unmunged path. How to get it? ---- What follows is irrelevant for progress. > I don't think that code was ever there. Maybe you heard about some file > mode being preserved overzealously (we stored the octal file mode > verbatim, but then decided to store only 644 or 755). I'm not sure. I'm not able to find that source anymore, though. > As you can see from the code decoding a tree entry: > > https://github.com/git-for-windows/git/blob/e1848984d/tree-walk.c#L25-L52 > > there is no mtime at all in the on-disk format of tree objects. There is > the hash, the mode, and the file name. I didn't comletely get the code in tree-walk.c since the parsing architecture seems to pass around pointers via global variables. It seems that in addition to hash, mode and file name, the on-disk format has at least the object type, see git cat-file -p master^{tree} Perhaps I got it wrong. Best wishes Peter -- Peter Backes, rtc@xxxxxxxxxxxxxxxxxxx