From: Junio C Hamano Date: Sun, 16 Sep 2007 22:11:03 GMT Subject: Re: metastore Message-ID: <7v7imq5ki0.fsf@gitster.siamese.dyndns.org> In-Reply-To: david@lang.hm writes: >> I'd rather not implement it at such a low level where a true >> "checkout" happens. For one thing, I am afraid that the special >> casing will affect the normal codepath too much and would make >> it into a maintenance nightmare. > > as I understand it, at this point you already choose between three > options. > > 1. write to a file (and set the write bit if needed) > 2. write to stdout > 3. write to a pager program > > I am suggesting adding > ... > or am I missing something major here? I do not think we are choosing any option in the codepath at all. What I mean by the normal "checkout" is what checkout_entry in entry.c does. There is no other option than (1) above. I would want to see an extremely good justification if you need to touch that codepath to implement this fringe use case. I do not think there is nothing that writes file contents to stdout/pager other than "git cat-file" or "git show"; I do not think they are what you have in mind when talking about managing the files under /etc. So unfortunately I do not understand the rest of the discussion you made in your message.