Hans-Emil Skogh <Hans-Emil.Skogh_at_tritech.se> wrote:
> > Most of my efforts went into my change flow (merges and more)
> > reconstruction project (TortoiseAnalyze) and I'm about
> > half-way there.
>
> Is there someplace that you can read more about TortoiseAnalyze, or
could you elaborate a little?
> What is its purpose, how will it work?
Since this is the T*SVN* list, I'm keeping this short ;)
And no, there is no TAnalyze list, because there wouldn't
be much to talk about, yet.
General vision:
* Provide enough information for "intentional"
merge tacking. Typical question is "I fixed this
code sequence - where should I apply the same patch?"
* No need to be 100% accurate. This is just a utility.
Basic problem:
* Which changes got duplicated where?
* What is the general relationship between 2 nodes
(copied & renamed, split, one-way merge only, ...),
i.e. to what nodes where should I merge my changes?
Idea:
* Index all node changes in a repository
* Find (partial) matches between these changes
(i.e. a global "copy-n-paste" finder)
* Encode / store this information in some space-
efficient way.
* Identify "original" changes and their "duplicates"
* Infer node relationships.
* Reconstruct merge info like "this is a tainted merge
of r10-15 from /xyz to /trunk"
Challenge:
* Time-efficient algorithms for duplicate search (mostly done)
* Keep memory consumption as low as possible without
hurting performance (KDE diff'ed change data is still 2G lines)
* Extract precise information despite heuristics (99+% correct)
* Present it in some useful way (don't have that static code
analysis problem where there is about 1 issue one every line)
Status:
* Learned a lot about the properties of typical code repos
* So far, algorithms are very efficient and scale very well
(AsyncFramework is a by-product of that w/o the issues of
OpenMP)
* Data import is done, efficient duplicate representation
is still ~50% open.
* Constructing results is yet to do
As there are a couple of things I would like to see in
TSVN 1.7, so I switch projects for now. TAnalyze is just
a toy project of mine, so far and I would like to see
it doing something useful by the end of this year.
-- Stefan^2.
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2379488
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-08-03 13:05:21 CEST