Dear Open Hub Users,
We’re excited to announce that we will be moving the Open Hub Forum to
https://community.blackduck.com/s/black-duck-open-hub.
Beginning immediately, users can head over,
register,
get technical help and discuss issue pertinent to the Open Hub. Registered users can also subscribe to Open Hub announcements here.
On May 1, 2020, we will be freezing https://www.openhub.net/forums and users will not be able to create new discussions. If you have any questions and concerns, please email us at
[email protected]
In some projects enlisted from Bazaar (such as https://www.ohloh.net/p/launchpad), the top-level merge commit will show a generic committer gateway name, for example:
Launchpad PQM
(PQM
for Patch Queue Manager
). The human committer names will be in the nested commits contained within that merge commit. You can see the nested commits by doing, say, 'bzr log -n0'.
Note that this is unrelated to the '--author' option in Bazaar (and therefore unrelated to http://thechaw.com/ohloh_scm/tickets/view/19, although it happens that Launchpad PQM will probably start using the --author option at some point, which will cause this bug in Ohloh to become somewhat less visible at least).
By the way, https://dev.launchpad.net/Contributions links to a script, community-contributions.py, that uses the Bazaar API to read the full (nested) commits and find the committer names. You might be able to save some time by using code from that script.
This discussion moved to Help
forum:
https://www.ohloh.net/forums/10/topics/4353
Hi Karl,
Do you happen to have a (much) smaller repository that reproduces this behavior?
Yes. Here is a much smaller Bazaar branch that shows the same situation:
lp:~launchpad-pqm/pygettextpo/trunk
Your Bzr should support the lp:
shorthand natively, but if not, just use this expanded version of the same URI:
bzr+ssh://bazaar.launchpad.net/~launchpad-pqm/pygettextpo/trunk/
That branch is a good example because it's a mixture of different types of commits. It has some top-level commits (e.g., by Launchpad Patch Queue Manager
and Canonical Patch Queue Manager
) that contain nested commits (e.g., by Diogo Matsubara, Max Bowsher, Bjorn Tillenius, James Henstridge, and others), and it also has some top-level commits by humans (e.g., by me, also by James Henstridge) that don't contain any nested commits. So you get examples of everything. If you can parse this branch right, you can parse anything :-).
Doing 'bzr log -n0' on the branch will show you the details, indenting the nested commits intuitively.
Since you may not be very familiar with Bazaar:
What Bzr calls a branch
is more or less what other VCS systems call a repository
(confusingly, Bzr has something called a repository
too, but it doesn't really mean what you'd expect it to mean). So when I say branch
above, that's more or less what you mean when you say repository
.
Regarding nested commits:
When there's a top-level containing nested (inner) commits, that means the top level committer merged
the inner commits into the branch. So the real author(s) of the change are the authors of the inner commits. The entity that did the merge, thus producing the top-level commit, might be a human or might be a bot, but the point is that what they did is more bookkeeping than actual code authoring.
Nesting can go to arbitrary depth; in practice, one level of nesting is by far the most common, and I've rarely seen any branch that nests beyond two levels.