ned Productions – BEurtle plugin for TortoiseXXX homepage

by . Last updated .

This is a TortoiseXXX plugin for the Bugs Everywhere distributed issue tracker. The plugin integrates with TortoiseSVN, TortoiseGIT, TortoiseHG, TortoiseBZR etc. etc. to provide a pretty GUI interface for embedded, personal issue tracking.

What is embedded personal issue tracking?

This is when you keep an issue tracker - the same thing most centralised source code websites like sourceforge or github have - stored locally within your project's source code. Obviously it's much more lightweight than a web based tracker because you're the only person that's going to be using it. However, it starts to become much more useful when it is used as part of your code writing workflow, particularly as an aid to memory and especially to collective memory.

For example, if you're in a coding shop where all commits must be peer reviewed before being allowed into the origin repo, you're probably using an internal Redmine or an equivalent for logging things to be fixed back to the original author. That's fine until you have to log something from outside the office, or log a problem on a specific branch of code which isn't a problem in other branches. An embedded issue tracker solves these problems because issues with the code are literally part of the code. The issues move with the code. If I log a problem with file X line Y in branch Z, that issue NEVER gets lost or detached from the code. When you merge branches, you also merge their issues.

This, even in a single person shop, is surprisingly useful, especially when you're getting older like me and can't remember what's wrong with your code anymore If you have ever been searching for some code and noticed something wrong with a different bit of code, then forgot you noticed, this plugin is definitely for you!

What is Bugs Everywhere?

Bugs Everywhere is a reasonably mature embedded issue tracker written in Python. It isn't actually distributed on its own - it is as distributed as the master version control repository housing your source code, so with Git, Mercurial and Bazaar it's distributed whereas with Subversion it's not. That said, it does mean it's completely version control system agnostic which can be useful when working with mixed source libraries as everyone seems to have their own VCS nowadays. In short, you can use BE with what you feel like.

Much as distributed source control has revolutionised productivity for many people, distributed issue tracking promises to add another chunk of productivity. One tracks the issues alongside the branches of code being worked upon, and issues can be merged, uploaded, tagged and branched just like code.

Here are some screen shots of BEurtle in action showing the bugs lists for BEurtle itself running via TortoiseGIT (yes, we do eat our own dog food):

As you can see, it exposes the majority of what you can do with Bugs Everywhere. This is nicely integrated into the TortoiseXXX family of source control extensions to Windows Explorer. Not shown above is how you can drag and drop emails into the BEurtle UI which auto-adds it (depending on context) as a bug, a diff patch, screenshots, a binary attachment etc. This is extremely convenient when you frequently receive source code patchsets by email smiley. Also not shown is how, upon committing, BEurtle will scan your commit message for the word "fixed". If that word is present, it will scan it for any BE format issue id 'hex/hex'. It then checks to see if that issue exists and is open - if so, it will offer to close the issue for you. If you have enabled auto-issue commenting with fix revision, it will do that and mark the issue closed. Lastly, also not shown is that you can now do 'be gui' from the command line and BEurtle will launch.

Current features in BE not supported include bug dependencies, setting due dates, subscribing or targeting. You'll still have to use the command line for those.

I see the v1.50 release is currently in alpha stage? Is it stable enough for daily usage?

I use this release myself pretty much daily on a Windows 7 x64 workstation with TortoiseGIT. On that combination, I'd have to say it's plenty stable - as I find bugs/irritations I log them with BEurtle and they get fixed! There are about ten bugs outstanding at present, with two of them particularly annoying, but nothing which will cause data loss.

I also have an Atom netbook running Windows XP x86 also with TortoiseGIT. On that underpowered laptop BEurtle is fairly painfully slow as several invocations of BE have to often be made per BEurtle operation, and things can take a few seconds to happen.

Where do I get it from?

You can download a zip archive of the source code for this release from github, or pull a full GIT clone from:

How do I report bugs, suggest enhancements or get support?

Please report bugs or enhancements to the github issue tracker. You can get non-commercial support from the email address at the bottom of this page, or you can get commercial support from my company ned Productions Consulting Ltd.

Changelog:

v1.50 alpha 3 (13th April 2015):

Bugs fixed:

  • Rich text editor had stopped working with a "System.IO.FileNotFoundException: Interop.MSHTML not found" error (reported as issue #6). This was due to a Microsoft update. Rebuilt the program and resigned with a new code signing cert.

v1.50 alpha 2 (17th February 2013):

Bugs fixed:

  • Opening a new issue, then pressing new comment, then closing the window no longer produces an error.
  • No longer possible to add an issue with an empty summary by pressing add comment and then closing the window.

Features added:

  • Finally fixed the lack of clipboard handling in the rich text editor, so now one can copy, cut and paste etc. as one should.
  • Now can add hyperlinks to comments, and clicking on a hyperlink opens it in an external web browser.

v1.50 alpha 1 (18th July 2012):

Bugs fixed:

  • Fixed lack of unicode support by hacking BE to behave on Windows.
  • Fixed missing severity change feature on context menu.
  • Went through the code and trapped every possible disc i/o error I could find, now doing something sensible instead of erroring out.
  • Installer now deinstalls properly instead of leaving files around.
  • Python no longer needs to be installed for BEurtle to work.
  • HTML dump finally works properly and doesn't forget to add newly dumped items.

Features added:

  • F5 now refreshes bug list.
  • Added auto-completion of commonly used fields like Author, Reporter etc.
  • Added commenting display and support.
  • Added fancy new rich text comment editor based on MSHTML.
  • Files and data can now be dragged and dropped in to create comments.
  • BEurtle windows now remember their position and location across appearances, correctly coping with multi-monitor setups and resolution changes.
  • BE no longer needs to be installed for BEurtle to work (it uses an embedded copy of BE and a Python 2.7.2 runtime).
  • BE XML dump is now optionally cached and the cache is used to greatly reduce first load time if it isn't stale. This is a godsend on my netbook.
  • Installer is now x86/x64 unified, securely signed, and auto-detects missing dependencies and auto-installs them.
  • Now optionally shows comment counts in main dialog.
  • Added 'be gui' tool to embedded BE. This simply launches BEurtle from the current directory.

v1.01 beta 1 (3rd August 2011):

  • [SHA: e6eadbe]
    • Issue 701/944 (Add some filter settings so one can filter by status and severity) fixed.
  • [SHA: 42568d8]
    • Issue 701/789 (Sort by status/severity first, but sort by date (with oldest first) thereafter) fixed.
  • [SHA: 55a7af7]
    • Issue 701/9f6 (Get dialogs to open on the window of their parent) fixed.
  • [SHA: 4058436]
    • Issue 701/f36 (Add an installer so I can install this easily on my other machines) fixed.
  • [SHA: e0ea876]
    • Now can automatically mark issues mentioned in a commit message with the word "fixed". For example, having 701/ae8 will trigger that to be marked as fixed if it is currently open in the BE repo.
    • Issue 701/ae8 (test issue for auto closing in commit messages) fixed.
  • [SHA: b4738f6]
    • Added options dialog
    • Issue 701/bb5 (Add IBugTraqProvider2 support) fixed.
    • Issue 701/ebd (Add HTML dumping option and repo create in config settings) fixed.
  • [SHA: 8915ee5] Bumped to v1.01.

v1.00 beta 1 (31st July 2011):

  • [master 4a71029] Released first version to public.

Contact the webmaster: Niall Douglas @ webmaster2<at symbol>nedprod.com (Last updated: 2011-08-01 00:00:00 +0000 UTC)