qlog DIR slow

Bug #432344 reported by Darren Worrall on 2009-09-18
This bug affects 2 people
Affects Status Importance Assigned to Milestone

Bug Description

We have a standalone tree with several thousand revisions. If I branch it, and use the TortoiseBzr 'log' shell extension on the top level directory, it populates very fast and is perfectly usable. If I call 'log' on any of the subdirectories, it just hangs. It is building the dialog (if you wait long enough the elements start to appear), but it's not usable at all. The process isn't doing much IO, but looks thread bound (1 core maxed out)

Steps to reproduce:

Branch a large tree with many revisions
Call the log extension on the top level directory - should be perfectly responsive and usable
Now call it on a subdirectory

Happy to try and debug this but dont know where to start :)

bzr log on sub directory takes long time against log on top directory.
This is bzr's behavior, not a bug.

TortoiseBZR now executes like this command:
> bzr log <directory that user clicked in>

One thing that TortoiseBZR can is add a "log for this branch" command
that like:
> bzr log <top directory of branch user clicked in>

But I don't know this is useful enough to add menu item.
I think TortoiseBZR should be able to do all operation.
But I don't think TortoiseBZR should have all convenience menu item.

Does someone have any idea about this?

Naoki INADA <email address hidden>

You see this problem because log on directory have to filter out all changes for all files behind this directory, and this require to inspect every revision. Which is low.

Actually this is problem with qlog -- Log dialog from QBzr. If you want to help -- look at recent discussion in QBzr discussion group:

Naoki, I think one possible workaround for TBZR is to force log for the entire branch whenever user want log on directory. What do you think?

Currently, TBZR handles user operation like this

In C:/foo/bar, right click on space
=> bzr log C:/foo/bar

In C:/foo, right click on 'bar'.
=> bzr log C:/foo/bar

Maybe, better way is:

In C:/foo/bar, right click on space
=> cd c:/foo/bar ; bzr log

In C:/foo, right click on 'bar'.
=> cd c:/foo ; bzr log bar

User should right click on a folder if log of subdir is really necessary.

Naoki INADA <email address hidden>

Apologies, I never even noticed it was a bzr issue/quirk.

In terms of the behaviour, whilst I would appreciate the speed difference of only showing the entire branch when calling log, it would be a departure in convention from the other Tortoise packages iirc. Certainly TortoiseSVN doesn't behave like that, and personally I wouldn't expect that behaviour when viewing the log of a subdirectory.

I'm trying to move from SVN to a DVCS, with bzr being my preferred option, but this slow log access will be perceived as a loss or degradation in functionality from SVN. I'll have a look around on that issue separately :)

The last commit to trunk as discussed in Goggle groups would make a big difference to that dialog for some of our smaller branches, so I will test the change, thanks.

Changed in tortoisebzr:
status: New → Confirmed
importance: Undecided → Low
Changed in tortoisebzr:
status: Confirmed → Invalid
Changed in qbzr:
importance: Undecided → Wishlist
status: New → Confirmed
summary: - TortoiseBzr log command takes forever on sub-directory
+ qlog DIR slow
tags: added: performance qlog

If some one works on this I will be happy to test it on my repository. This is currently the biggest problem I have since the project I work on consists of many "sub projects" within the same repository (with grand total: 40K items).

And my more senior (and influential) colleges have really been complaining about this and I feel responsible since I introduced Bazaar and the UI's to them.

Although I realize that I will never get them to be 100% satisfied with their new version control system, I do understand the pain they have with not being able to view the log of a directory (therefore their project of interest) within a reasonable amount of time. (etc sub-minute)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers