Productivity and debugging idea: "session"-tracking system similar to code version tracking systems

Andreas Pakulat apaku at gmx.de
Fri Aug 12 13:53:10 UTC 2011


On 12.08.11 15:32:47, Michael Andersson wrote:
> 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.

Why? Or rather what was insufficient about git diff showing you the diff
to the base commit that you started from?

> Secondly, I had to commit non-working code, which I otherwise would never
> do.

Locally, you know with git you can rewrite history and hence such
commits can disappear before you push.

> 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
> tool.
> 
> So that is my idea: a session tracker system that would or could be part of
> KDevelop. I am looking forward to feedback!

I somehow fail to see where this is different from/better than creating
commits in a VCS that allows you to rewrite history or just using the
vcs-tools to show you all changes you've done. So either I'm missing
something from your original explanation or all this already exists
today and you just need to discover it. 

Andreas





More information about the KDevelop-devel mailing list