On Sun, 17 Apr 2005, Linus Torvalds wrote: > On Sun, 17 Apr 2005, Daniel Barkalow wrote: > > > > --- 45f926575d2c44072bfcf2317dbf3f0fbb513a4e/revision.h (mode:100644 > > sha1:28d0de3261a61f68e4e0948a25a416a515cd2e83) > > +++ 37a0b01b85c2999243674d48bfc71cdba0e5518e/revision.h (mode:100644 > > sha1:523bde6e14e18bb0ecbded8f83ad4df93fc467ab) > > @@ -24,6 +24,7 @@ > > unsigned int flags; > > unsigned char sha1[20]; > > unsigned long date; > > + unsigned char tree[20]; > > struct parent *parent; > > }; > > > > I think this is really wrong. > > The whole point of "revision.h" is that it's a generic framework for > keeping track of relationships between different objects. And those > objects are in no way just "commit" objects. > > For example, fsck uses this "struct revision" to create a full free of > _all_ the object dependencies, which means that a "struct revision" can be > any object at all - it's not in any way limited to commit objects, and > there is no "tree" object that is associated with these things at all.
I entirely missed this. No wonder my fsck-cache conversion wasn't going so well... > Besides, why do you want the tree? There's really nothing you can do with > the tree to a first approximation - you need to _first_ do the > reachability analysis entirely on the commit dependencies, and then when > you've selected a set of commits, you can just output those. I actually want the tree for http-pull, not merging stuff. I was trying to get a commit parser, not reachability at that point. I think the right thing is to make a separate struct commit that has the stuff I want in it, and probably do a struct tree at the same time. -Daniel *This .sig left intentionally blank* - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html