Explorer & QBzr Log
John Arbash Meinel
john at arbash-meinel.com
Thu Apr 22 15:32:34 BST 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gary van der Merwe wrote:
> On Thu, Apr 22, 2010 at 7:19 AM, Eric Berry <elberry at gmail.com> wrote:
>> Hi John,
>> Thanks for the reply.
>>
>> How does qlog get that information then?
>
> qlog gets the info by calling bzrlib api's. Most of the logic is in
> qbzr/lib/libgraphprovider.py
> http://bazaar.launchpad.net/~qbzr-dev/qbzr/trunk2a/annotate/head%3A/lib/loggraphprovider.py
>
> If you just want re-implement qlog in swing, I would recommend reusing
> that. In the future, I hope to move that file into bzrlib, but I first
> need to write comprehensive tests for it. In the mean time, you can
> just copy it.
Well, he's working in Java, which means you have to overcome the
Java/Python barrier. I don't think bzrlib works on Jython yet, so
potentially parsing the output of bzr log is still his best bet.
Though if I was going that route, I would look at bzr-xmloutput which is
meant to generate xml format output for various commands, to make it
easier to do cross-language data transfer.
John
=:->
>
> Here is a very high level overview of the steps:
> 1. Load the revision graph: line 549
> 2. merge_sort - This is done by bzrlib. It sorts the revisions, and
> provides the revision numbers, and some other info: line 574
> 3. Split the revisions into branch lines, aka merge lines: line 639
>
> 4. Layout graph. (compute_graph_lines) Line 999. This happens every
> time you collapse or expand merges, or filter revisions, so it uses
> lots of info cache during load, so that it runs very quickly.
>
> Sorry I can't give you more info. I'm a bit busy at work. I hope this
> will get you started.
>
> Gary
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkvQXgIACgkQJdeBCYSNAAOnpACbBklKBGvE/RwVuuXbbuhydIlD
wDUAoIyqNFQaDf9S7zCRpHSZt+w+WviD
=j/V0
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list