Bazaar VCS integration ideas

Evgeniy Ivanov powerfox at kde.ru
Fri Jan 2 19:47:02 UTC 2009


Happy New Year folks :)

Some time ago I have found nice thing called QBzr:
http://bazaar-vcs.org/QBzr
AFAIK it's developed by one of K developers.
But it's a plugin and not a separate application like QGit.

It has nice UI and functionality, which is in todo for our bzr plugin.
And many things could be reused since it's a kind of a library and it's
in python.

It works in such way: bzr qCOMMAND (like commit, log, etc).

I did some small experiments:

#It will open a window as a Qt application, but AFAIK we can embed it,
but not sure
#I didn't set current dir (dir with repo), it's set by application's
active dir.
>>> from bzrlib.plugins.qbzr import cmd_qlog
>>> cmd_obj = cmd_qlog()
>>> run = cmd_obj.run_argv_aliases
>>> run([])

#It's better, since we control tree object (repo dir) and some other
things (we will not create application in KD)
>>> import sys
>>> from PyQt4 import QtGui, QtCore
>>> from bzrlib import workingtree
>>> from bzrlib.plugins.qbzr import CommitWindow
>>> tree =
workingtree.WorkingTree.open('/home/kde-devel/kdevelop-projects/bazaar')
>>> app = QtGui.QApplication(sys.argv)
>>> cm_window = CommitWindow(tree, [])
>>> cm_window.show()

#sure we can use just bzr command to open another windows and allow user
to perform actions,
#but it will be a separate application.
#but also it will be in our "proxy" class and we will still share
dvcspluginBase between all DVCS plugins.
#For those 2 above we have to use kross.


I'm new to python and don't know what is better for us.


-- 
Cheers, Evgeniy.
Key fingerprint: F316 B5A1 F6D2 054F CD18 B74A 9540 0ABB 1FE5 67A3





More information about the KDevelop-devel mailing list