{"thread":{"id":"52860","subject":"git - file types / metadata","startedAt":"2020-02-21T08:39:48Z","lastAt":"2020-02-21T08:39:48Z","messageCount":1,"participants":["Kevin Swinton"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"392263","messageId":"CAEwB0hh_Kifi4G6zqFJhM0aGzm+FqftvnavMkKqoxFph80PTjg@mail.gmail.com","threadId":"52860","inReplyTo":null,"subject":"git - file types / metadata","fromName":"Kevin Swinton","fromEmail":"kevin.swinton@gmail.com","sentAt":"2020-02-21T08:39:31Z","receivedAt":"2020-02-21T08:39:48Z","isPatch":false,"sender":{"key":"kevin.swinton@gmail.com","avatar":null},"body":"Hi\n\nCurrently converting git (using libgit2) to run on the RISC OS\noperating system. There's one specific requirement this OS provides\nthat, after discussion with the libgit2 folk, I'd be grateful for your\nexpertise and experience on:\n\nThe RISC OS filesystem is not Unix-like. It doesn't use file\nextensions like \".txt\", but instead associates a 12-bit file type with\neach file, to identify what sort of file it is (e.g. 0xfff=text file)\n\nSo the filemode value in a tree entry doesn't really apply. I can see\nlibgit2 uses a uint16_t to store this, and it appears to be written\ninto the object database in text form, so for a normal file in a tree\nobject, if I dump it on-screen I see this ASCII sequence: 100644.\n\nHere's the thought: could git introduce some form of \"custom\" filemode\nidentifier? For example, a value of 017xxxx could be used to indicate\nto git that it's to be treated the same as 0100644, but that those\nbottom 12 bits of the filemode could be interpreted differently (in\nthis case with RISC OS it would actually provide exactly what's\nneeded).\n\n(Feedback from libgit2 folk is that in future some kind of file\nmetadata ability - more general than this - could have other uses.)\n\nAny thoughts/feedback/clarity on git policy, appreciated\n\nregards\n\nKevin Swinton\n"}]}