trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: September 2012

Re: [trinity-devel] Revert GIT to a specific date

From: Darrell Anderson <humanreadable@...>
Date: Fri, 28 Sep 2012 16:14:20 -0700 (PDT)
> But you don't want to do this anyway: you want to use 'git bisect',
> which is designed for this sort of binary-searching for bugs with
> unknown origin. (Note that after every 'git bisect good/bad' you will
> need to do a 'git submodule update' to bring the submodules up to date
> properly.)

Thank you for the explanation.

Like 'git reset --hard', seems every explanation I read is focused on a repo for a single product/package and not a multi-layered repo like Trinity. As I mentioned in a previous mail, the Trinity repo is really 134 (or so) repos, or 134 products. Whereas I can easily 'git reset --hard' or 'git bisect' an individual Trinity package/module, I can't easily bisect the entire Trinity source tree. At least, I am not seeing how to do this.

The particular regression (bug reports 1111 and 178) I am helping debug involves several Trinity packages. That is, at least tdelibs and k3b are involved, probably tdebase too. Yet tdelibs affects all packages. The regression might have been introduced in the many commits with the new TDEHW libs, which includes tdebase. Any reset or bisect of tdelibs or tdebase likely requires all dependent packages to be reset/bisected too.

The challenge is that Trinity packages are all interrelated. Proper testing requires all packages be rebuilt the same as they were on the same date.

For me to troubleshoot by building packages from a specific date requires me to reset (bisect) many Trinity modules, possibly all.

At this point nobody yet knows when this regression started because the particular feature is not something everybody uses every day. Just today, we discovered the bug is masked when used through NFS shares, hence a previous leaning the problem was distro specific or PEBKAC.

Based upon the bug report dates, the regression appeared some time before the middle of July. A package set I found in my backups from March 27 does not exhibit the regression, but based upon the recent news about NFS masking, I should retest those packages without that layer.

I don't mind the work involved with rebuilding packages, testing, etc. I just am not seeing how to get there because of the complex relationship of all Trinity packages. :(

I might start storing tarball snapshots each time I re-sync my local tree and then always build only from tarballs rather than my local GIT tree. For sure I'm going to become more rigorous about archiving package sets, which would allow faster testing of regressions.

Darrell