guitone - a Qt-Frontend for monotone ==================================== Guitone is a frontend to monotone. It implements the monotone automation interface, so its likely that it won't do things which aren't implemented there (currently for example workspace actions like update and commit). You need Qt >= 4.2 to build and monotone >= 0.37 (or a monotone with an interface version of 6.0 or greater) to run guitone. Earlier versions do not have all the infrastructure for certain functionalities available, but might still work in some areas. (You have to lower the requirements in the project file and rebuild monotone before you can actually make it work with older versions - but this is not recommended.) To build under Linux / Mac OS X, just do $ cd /path/to/guitone $ qmake -config release && make On Mac OS X you need the Sparkle framework (http://sparkle.andymatuschak.org/) installed to build guitone. Make sure it does reside outside /System/Library/Frameworks if you plan to build with the univsersal SDK (the default). You can also build guitone with Xcode on Mac OS X. You should have a recent version of Xcode installed (>= 2.2 because of gcc bugs) which is usually found somewhere on the installation DVD. Then you can create a Xcode project file with $ qmake -spec macx-xcode and open this with Xcode. If you need to tweak settings (i.e. architecture) in the Qt project file (guitone.pro), remember to redo this step. The created binary can be found in bin/. If you like to build on Windows, all you need is a working version of Qt 4.2.x. Please check the docs at trolltech.com for assistance how to build Qt on Windows. After that get the sources of guitone, unpack them into some directory and run qmake in it. Then start your favourite make tool and you're done. The most recent version can always be obtained from the guitone repository at thomaskeller.biz. guitone is located in the branch net.venge.monotone.guitone: $ mtn db init -d guitone.mtn $ mtn pull -d guitone.mtn thomaskeller.biz "net.venge.monotone.guitone" Program Notes ============= * If you encounter crashes, make sure that you've cleaned out any old settings directory, usually under .config/GUITONE or (in newer versions) under .config/Thomas\ Keller. Newer versions of guitone save their settings according to the underlying platform, ie. as config file under MacOS X (~/Library/Preferences/biz.thomaskeller.guitone.conf) or in the registry under Windows. * If you still encounter crashes try to enable the file log in the Preferences dialog. The log is usually saved in your home directory, as "guitone.log". Please send this file, together with a description what you've done and (optionally) a gdb backtrace to the author. Platform Notes ============== * If you like to compile guitone on Mac OS X, make sure you've updated your gcc to 4.0.1 or newer which comes with XCode 2.2 or later. Otherwise you'll get a "Bus error" on runtime due to a bug in gcc 4.0.0 * If you encounter segfaults and other weird crashs on Linux when closing dialogs please ensure you've a recent enought Qt version. Apparently in 4.2.2 the problem is no longer present. * On Qt 4.3.3 and earlier the generation of a valid Xcode project fails because of problems with escaped characters in the project file. This has been reported to Trolltech - in the meantime you should do $ qmake -spec macx-xcode guitone.pro $ cd guitone.xcodeproj $ sed -e 's/\\\\\"/\\\"/g' < project.pbxproj > project.pbxproj.new \ && mv project.pbxproj.new project.pbxproj Known Bugs ========== * Most of the workspace commands (add, drop, update, rename, ...) haven't been implemented because the monotone automation interface does not yet have support for them. This will eventually be changed in the future on either side (i.e. either I will implement the functionality directly in monotone or I'll use the normal command line interface to trigger the commands), but this heavily depends on my workload and mood... The Update Workspace dialog and the right-click actions in the workspace view are therefore just stubs and won't do anything. * Support for partial loading of a monotone workspace has been disabled for now because of a bug in monotone's inventory output and other restrictions concerning the format, which have to be fixed upstream first. * If your problem is not described here, take a look at the task list on http://guitone.thomaskeller.biz/g/tracker Author ====== Thomas "TommyD" Keller Contributions are very welcome, I'm usually hanging around in the monotone IRC at irc://irc.oftc.net/#monotone so don't hesitate to contact me! Former Contributors =================== Ingo "Slinky" Maindorfer Jean-Louis "Ganwell" Fuchs