* Benjamin Drung <benjamin.dr...@profitbricks.com> [140521 16:48]:
> I got distracted by different tasks, but now I have time to work on
> reprepro again.
> 
> Am Dienstag, den 04.02.2014, 23:23 +0100 schrieb Bernhard R. Link:
> > * Benjamin Drung <benjamin.dr...@profitbricks.com> [140203 13:15]:
> > > Okay. Attached the patch for my prototype. Be aware: It's just a
> > > prototype that is just able to run the commands that I wanted to test,
> > > but isn't near to be ready for mainlining. The prototype implements case
> > > 2 just because that was my initial idea, but now I tend to think that
> > > case 1 might be easier/cleaner.
> >
> > Thanks. I'll take a look this weekend.
>
> Any feedback so far?

It's too long ago for me to remember. AFAIR it mostly was that libdb
trick that is quite hard to understand.

> > > > It sounds quite slow either way. Perhaps the way to go is instead
> > > > changing the data format, like having the version first (perhaps even in
> > > > preparsed format to speed things up).
> > >
> > > Good idea, but is this function really time critical? It should be only
> > > called when comparing duplicate keys (which shouldn't happen that often,
> > > does it?).
> > 
> > It might also happen when updating some value otherwise. (And if the
> > version is in some meta-data first one also does not have to
> > differentiate between binaries and sources that much). One could also
> > take the opportunity of a format change to allow for other possible
> > future meta data (like the first added timestamp).
> 
> How flexible should the new data structure be? What meta data besides
> the timestamp could be relevant?

It would be nice if it allowed other fields to be added later without
breaking the format again. Like some (field-length-content)* format.

> > > How do you want to preparse the version?
> > 
> > if versions are compared they are split into epoch version and revision
> > and version and revision are gain split into sequences of numbers and
> > not-numbers. Dpkg for example first parsed all the functions and later
> > only compares the already split part. if easily possible it could make
> > sense to store it in a format like that (but then parsing a on-disk
> > format of the split data might be just as time-consuming as just looking
> > at the real data).
> 
> The version and revision can have a nearly unlimited amount of
> concatenated numbers and not-numbers. You could store the parts as list
> with type information. I doubt that a different on-disk format could
> increase the speed. We could split the full version into epoch, version,
> and revision and store them separately, but parsing these parts will be
> more time consuming. My feeling is that we should stick with the full
> version as string.

Yes, might not make much sense if one has to store the preparsed format.

> While working on reprepro, I found a typo. A patch for that is attached.

applied.

        Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to