Productivity and debugging idea: "session"-tracking system similar to code version tracking systems
mike.andersson at gmail.com
Fri Aug 12 13:32:47 UTC 2011
Hi, this is my first mail to the KDevelop-devel list, and if I suggest
something already discussed, I apologise.
Yesterday I was coding as usual, revising a relatively complex part of my
C++ project for the new requirements that it had to be adapted to. The
changes led to a subtle bug, which took hours to track down, only in this
case a bit more insidious than usual. What I finally did to locate it was to
commit my non-working changeset to my git repo and then studied the commit
diffs for all change points. This allowed me to finally find the offending
lines and eliminate the bug.
This was less than perfect for two reasons: first, I had to actually commit
to see a digest of what I had updated since the start of the session.
Secondly, I had to commit non-working code, which I otherwise would never
However, it made me realise that a versioning system could actually be used
as (or perhaps more correctly, be subverted into) a debugging tool. Clearly a
versioning system shouldn't be used as a debugging aid, but just as clearly,
there is a tool or IDE aid waiting to be made here.
What if it was possible to start a--let's call it-- "session", which would
be a point of origin against which all subsequent changes would be tracked,
and these changes could then be reverted to the session start or be
displayed as a digest? To some extent, most editors already support change
tracking with green and yellow change indicators in the margin, but a
"session" as I'm talking about here would be ramped-up compared to the
simple margin colours. Perhaps sequences of such "sessions" could even be
stored as a kind of "meta-undo" and progressive code digest presentation
So that is my idea: a session tracker system that would or could be part of
KDevelop. I am looking forward to feedback!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the KDevelop-devel