Re: Complete http-pull; where should it go?
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- May 1, 2005, 20:30 UTC
- Message-ID
- <Pine.LNX.4.21.0505011544120.30848-100000@iabervon.org>
- In-Reply-To
- <Pine.LNX.4.58.0505011237410.2296@ppc970.osdl.org>
On Sun, 1 May 2005, Linus Torvalds wrote:
Show 9 quoted lines
> 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.
It's true that you might not want to include all of the refs; but doesn't it make more sense to support the standard arrangement of refs (i.e., they're in .git/refs/kind/name) for the ones you want to include, rather than having to pull out the hex to pass in yourself?
> 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.
Right; what I want to make programs able to do is take explicit references, instead of only taking the objects they reference. So you say heads/master or heads/linus instead of "198b0fb635ed8a007bac0c16eab112c5e2c7995c".
The part that makes this important is that the user may be trying to look up a reference on a remote machine using the same connection that the objects will come over, and this is impractical without having the program know how to handle reference files.
> 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.
Agreed; which references to use are up to either the power user or the script, not the core. I'm just interested in having a core implementation for using them when specified.
-Daniel *This .sig left intentionally blank*