In notedb change messages are stored as part of the commit messages on the refs/changes/XX/YYYY/meta branch. The order of the change messages is defined by the commit order and there is no need to sort the messages by commit timestamp. The current sorting of change messages of one patch set by commit timestamp does not work when commits have the same timestamp because then the order for these change messages is left as in the input and in the input the order is the opposite of what we need. Hence change messages that have the same timestamp are returned in the wrong order. As result some tests that check the correct order of the change messages do fail, because when running the tests it happens frequently that commits on the refs/changes/XX/YYYY/meta branch have the same timestamp. On parsing the refs/changes/XX/YYYY/meta branch the order is preserved since the branch is always walked from the tip and the messages are stored in a LinkedListMultimap which preserves the order of the values for each key. Since the parsing is done starting at the tip of the branch we see newest change messages first which means which means we must reverse the result to get the correct order. There is another place in ChangeMessageUtil where change messages that were loaded from notedb are sorted by date. This will be removed in a follow-up change. Change-Id: Ic0c190b83b168341be6dab3d670b1fc86e20016b Signed-off-by: Edwin Kempin <ekempin@google.com>
Gerrit Code Review
Gerrit is a code review and project management tool for Git based projects.
Objective
Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.
Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.
Documentation
For information about how to install and use Gerrit, refer to the documentation.
Source
Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.
Reporting bugs
Please report bugs on the issue tracker.
Contribute
Gerrit is the work of hundreds of contributors. We appreciate your help!
Please read the contribution guidelines.
Note that we do not accept Pull Requests via the Github mirror.
Getting in contact
The IRC channel on freenode is #gerrit. An archive is available at: echelog.com.
The Developer Mailing list is repo-discuss on Google Groups.
License
Gerrit is provided under the Apache License 2.0.
Build
Install Buck and run the following:
git clone --recursive https://gerrit.googlesource.com/gerrit
cd gerrit && buck build all
Install binary packages (Deb/Rpm)
The instruction how to configure GerritForge/BinTray repositories is here
On Debian/Ubuntu run:
apt-get update & apt-get install gerrit=<version>-<release>
NOTE: release is a counter that starts with 1 and indicates the number of packages that have been released with the same version of the software.
On CentOS/RedHat run:
yum clean all && yum install gerrit-<version>[-<release>]
NOTE: release is optional. Last released package of the version is installed if the release number is omitted.
Events
- November 7-8 2015: Gerrit User Conference, Mountain View. (Register).
- November 9-13 2015: Gerrit Hackathon, Mountain View. (Invitation Only).
- March 2016: Gerrit Hackathon, Berlin. (Details to be confirmed).