From: Linus Torvalds Date: Sun, 01 May 2005 19:44:28 GMT Subject: Re: Complete http-pull; where should it go? Message-ID: In-Reply-To: On Sun, 1 May 2005, Daniel Barkalow wrote: > > My question is, where does this belong? It's based on adding to the core > as it has been the knowledge that .git/refs/*/* consists of hex-format > hash files, both locally and on remote servers. So the main reason I _don't_ like programs that automatically look up the refs etc is that its' often simply WRONG. For example, if I want to know what objects I have in my object directory that are needed for a release, I want to be able to tell fsck to list the objects that are extraneous for that release _regardless_ of the fact that I may have .git/refs/*/* files that point to other things. So if fsck-cache automatically looks up references in .git/refs/ like in one of your earlier patches, then instead of adding value to the program, you actually _remove_ value from it by making it less flexible, and enforcing a world-view that is not necessarily the only view. This is why I want the true _plumbing_ to not care about these things, and if you include references to trees, you _list_ them explicitly. And if you want to have a command that takes implied references, then just make a script that does that for you, rather than making the core plumbing understand it. This is a classic "ease of use" vs "power-user" issue. I'm very fundamentally of the opinion that power-users are good, and that ease of use is done by having scripts that turn normal ops into "power user" operations. That's the unix way, really. Linus