[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] Fw: [Fwd: [BUG] revlib: old additions not hardlinke
Re: [Gnu-arch-users] Fw: [Fwd: [BUG] revlib: old additions not hardlinked]
Thu, 13 May 2004 15:59:27 -0400
Mozilla Thunderbird 0.5 (X11/20040309)
James Blackwell wrote:
1. Create revision library, sparse and greedy
2. tla get ...-patch-101
3. tla get ...-patch-100
[ hardlinking is not performed in the library between 100 and 101]
The more I've sat back and though about this one, the more reasonable it
seems. All it really takes is teaching the library code to look to see
if there's any previous revision in the library, and if so, try
hardlinking against that.
Actually, I'm thinking for each revision in the library, we can check
1. Does $librev have a patchlog for $built?
2. Does $built have a patchlog for $librev?
(No matter how many revisions you have, two stats per revision is pretty
That's enough to show that the two revisions are related, though
possibly only through merging. It should probably favour matches that
are in the same version, because those will be more similar, but in a
library, *any* similarities can be exploited.
That should help for the case when all you have is
tla--devo--1.3--patch-10, and you add tla--devo--1.2--patch-100.
I can see a minor problem or two (which upon second thought probably
apply to building the library forward!)
that I bet that exist with forward
Building is stricter, since you have to follow ancestry, and also
because I want to avoid the sort of security issues I mentioned on IRC.
It's okay to build from any ancestor, because the author did that too,
but anyone can make a descendant. To avoid building backwards from a
falsified descendant, you have to restrict descendant matches to the
This is all blue-sky stuff at this point.
I think this is addressed by the backbuilder stuff, and thus there's no
need to create a bug report.
You sure? That doesn't sound like what AB (Bentley) is doing to me. I
think his work does something along the lines of "If I want to tla get
this--that--1--patch-80, and there are cacherevs at patch-20 and
patch-90, then get the cacherev at 90, and reverse the patches between
patch-80 and patch-90 to get to patch-80"
The backbuilder will produce hardlinked revisions from descendants as
well as ancestors.
It works best with library revisions at the moment, though there's
plenty of room for extension. In general, seeking forward for cacherevs
Director of Technology