Re: [ANNOUNCE] git-pasky-0.6.3 && request for testing
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Apr 22, 2005, 23:27 UTC
- Message-ID
- <Pine.LNX.4.58.0504221621280.2344@ppc970.osdl.org>
- In-Reply-To
- <20050422230551.GI21204@pasky.ji.cz>
On Sat, 23 Apr 2005, Petr Baudis wrote:
> > Just FYI, this is bug in core git's diff-cache;
Nice find.
Yes, I told you guys I hadn't tested it well ;)
"diff-cache" does the same "diff trees in lockstep" thing that "diff-tree" does, but it's actually more complex, since the _tree_ part always needs to be recursively followed, while the _cache_ part is this linear list that is already expanded.
Which just made the whole algorithm very messy.
Once I found out how nasty it was to do that compare, I was actually planning to re-write the thing using the same approach that "read-tree -m <tree>" does - ie move the tree information _into_ the in-memory cache, at which point it should be absolutely trivial to compare the two. But since the horrid algorithm seemed to end up working, I never did.
I'm not even going to debug this bug. I'm just going to rewrite diff-cache to do what I should have done originally, ie use the power of the in-memory cache. That's also automatically going to properly warn about unmerged files.
Give me five minutes ;)
Linus