Re: Complete http-pull; where should it go?
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- May 1, 2005, 19:44 UTC
- Message-ID
- <Pine.LNX.4.58.0505011237410.2296@ppc970.osdl.org>
- In-Reply-To
- <Pine.LNX.4.21.0505011508270.30848-100000@iabervon.org>
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