Bazaar

Bazaar

 




Wiki Tools

  • Login
  • Create Profile
  • FindPage
  • RecentChanges
  • Page History
  • Attachments

TortoiseBZR is a Windows shell extension (similar to TortoiseCVS, TortoiseSVN or TortoiseHG ) for viewing the source control status of a bzr tree from within Windows Explorer.

Szilveszter made a first proof-of-concept during the sprint in Amsterdam in 2007 using file type handlers. Wouter van Heyst and Jelmer Vernooij started the Python implementation a few weeks later. Henry Ludemann took that code and improved it a bit. Alexander Haro has picked up the project and worked on it as part of Google's Summer of Code.

Status

  • Icon overlays work.
  • Context Menu hooks allow commit, checkout, diff, about, help, and preferences.
  • Dialogs start in an external process.
  • Debugging output to a console window.

TODO

  • Share a common 'source control' shell icon overlay extension with tortoisecvs (to avoid using too many icon overlays).
  • Hook in the meld diff / merge utility.
  • Enable add, merge, log, revert, etc context menu options.
  • Only display relevant context menu items.
  • Move away from gtk and use Windows dialog to match the look of TortoiseSVN/CVS.
  • Integrate plugin facility.

Development

You can get a copy of TortoiseBZR by branching this location: https://code.launchpad.net/~amduser29/tortoisebzr/trunk. Note that it needs Python for Windows (http://sourceforge.net/project/showfiles.php?group_id=78018).

It is recommended you restart explorer after changing either the icon handler or the context menu. To do this in XP/2000, go to the start menu then to shutdown

Some instructions:

  • You can test it by running tortoise-bzr.py (so long as bzrlib is in the python path and you have gtk+ and pygtk installed, see WindowsInstall).

set PYTHONPATH=c:\somepath\bzr.dev
python tortoise-bzr.py
  • Unregister it by running

python tortoise-bzr.py --unregister
  • To see debugging output run

python tortoise-bzr.py --debugging-output

Screen Shots

Useful Links

Useful Tips

In order to register TortoiseBZR in Vista you must run python from an command prompt with Administrator privileges. To start a command prompt with Administrator privileges, hold CTRL and SHIFT while starting cmd.exe.

When making changes to either tortoise-bzr.py, contextmenu.py, or iconoverlay.py it may be necessary to restart explorer which can be done with the following command

python -c "import ctypes; ctypes.windll.shell32.SHChangeNotify(0x8000000, 0, 0, 0)"

You may want to set the following registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDLL

to make sure you can actually changes files that are in use.

It may also be useful to set a new value /DesktopProcess/ to 1 in

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer

This will force Explorer to create a separate process per window. Not very efficient, but very useful when debugging.