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

Michael Andersson mike.andersson at gmail.com
Fri Aug 12 15:04:53 UTC 2011


I realise that when presenting the idea it sounded like I was asking for
already existing things. Perhaps it is difficult to see the utility of my
suggestion from my story without having been me with my bug at that
particular time. In my case the changes, consequences, and potential
positions of the bug reached over a significant number of files, making it
difficult to overview.

In short, what I am proposing boils down to two capabilities inside the IDE:

1) Being able to set a "revert point" before setting out on a journey of
changes.
2) Being able to view a single-page digest in a tab of all changes since the
revert point.

The "digest page" is a convenience many VCS hosts provide, basically a HTML
page with all changes in a changeset nicely and pedagogically presented on
one page for instant overview. It could be invaluable to have a function
like that available inside the IDE for immediate, perhaps real-time,
overview of all changes.

Michael


On 12 August 2011 15:53, Andreas Pakulat <apaku at gmx.de> wrote:

> 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
>
>
> --
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20110812/6e937362/attachment.html>


More information about the KDevelop-devel mailing list