ned14 / BEurtle

TortoiseXXX plugin for the Bugs Everywhere distributed issue tracker
http://www.nedprod.com/programs/Win32/BEurtle/
Other
11 stars 1 forks source link

BEurtle v1.50 alpha 2 (17th February 2013) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= (C) 2011-2013 Niall Douglas, ned Productions Limited, http://www.nedproductions.biz/

Please find enclosed a TortoiseXXX plugin for the Bugs Everywhere distributed issue tracker (http://www.bugseverywhere.org/). The plugin integrates with TortoiseSVN, TortoiseGIT, TortoiseHG, TortoiseBZR etc. etc. to provide a pretty GUI interface for embedded issue tracking.

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.

This becomes really useful 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 supported: -=-=-=-=-=-=-=-=-= The BEurtle plugin literally wraps the command line be. You get a dialog box which lists all issues, showing their current status, severity, creation date and summary. By clicking on column headers, you can sort status and severity and it sorts it the right way. One simply selects the bugs about to be fixed in the commit and hits OK - this will list the bugs in question in the commit message as being fixed.

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.

You can quickly change the status of issues by selecting them and right clicking to bring up a context menu. The same context menu also lets you filter out issues you don't want to see by typing in the relevant text to exclude into its relevant section. The filter menu doesn't auto- close, so you can mess around with settings and the list of issues will dynamically update itself as you change things. Of course, you can add and delete issues using the buttons at the bottom of the dialog.

Double-clicking or hitting enter on an issue will open its detail box. You can view comments, add new ones, or reply to existing comments. You can also edit the issue's detail, and drag and drop message content (including HTML/pictures/binary attachments) between BEurtle and any COM supporting application.

HTTP access is supported, so you can enter a http:// remote repo address and after some delay due to BE being slow it will appear. All editing operations are also supported on remote repos.

If you use the embedded copy of BE (in Program Files/.../BEurtle/dist), you can do 'be gui' to launch BEurtle from the command line.

What isn't supported: -=-=-=-=-=-=-=-=-=-=- There is no bug dependency support at all, nor for tagging.

There is no support for setting due dates, subscribing or targeting.

This release wraps the be command line directly, and as a result is painfully slow on Intel Atom netbooks. A fix (not to use be) is coming soon.

What's coming soon: -=-=-=-=-=-=-=-=-=- As I mentioned above, on an underpowered Intel Atom 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. Next release of BEurtle will use BEXML, a very fast, lazy, RESTful web service exposing Bugs Everywhere and other issue trackers. Once BEurtle is using BEXML, all operations will be nearly instant, even on an Atom netbook.

BEXML is slowly gaining the ability to wrap a Redmine issue tracker in a BEXML interface, and not long after that it will also be able to wrap a Github issue tracker too. That will enable BEurtle to access Redmine/ Github/any supported backend issue trackers and therefore to automagically copy/move/merge bugs and issues between your Bugs Everywhere tracker and any supported external tracker. I need this facility personally, so you have a very strong chance of seeing it completed soon as it would save me a great deal of time personally.

To Install: -=-=-=-=-=-

  1. Install your choice of TortoiseSVN, TortoiseGIT, TortoiseHG, TortoiseBZR etc.

  2. Install this plugin.

  3. Open up your TortoiseXXX settings dialog choosing Issue Tracker Integration. Click Add and type in the path of the root of your repository, choosing BEurtle as the provider. Click on the Options button and choose what options you'd prefer. Exit by clicking OK, then OK to close the Issue Tracker Integration dialog.

  4. Try committing something in your repository. You should see a "Bugs, Bugs, Bugs!" button in the top right of the commit box. Click that. You should get the dialog and a message asking if you want to create a new BE repository because there is no BE repository in your VC repository root. Say yes to this.

  5. Remember that BE's tracking data is stored by your VC repository. After you modify issues you'll need to commit to your VC repository to store the changes. Enjoy!

Problems? -=-=-=-=- Go to http://github.com/ned14/BEurtle and see if changes to HEAD have fixed the problem.

Failing that, check http://github.com/ned14/BEurtle/issues to see if someone has already reported the problem. If they haven't, add an issue there.

Want a new feature? -=-=-=-=-=-=-=-=-=- You can add it yourself and submit a pull request on github, or a patch otherwise.

Or you can contract my consulting company ned Productions Limited to do it for you. See http://www.nedproductions.biz/. For something small like this, I would likely strike a fixed price deal with any customer.

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

Bugs fixed:

Features added:

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

Bugs fixed:

Features added:

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

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