commit | 0490413eb83cf3f9eafc459ff49076a1a02f0308 | [log] [tgz] |
---|---|---|
author | Wyatt Allen <wyatta@google.com> | Wed Aug 10 11:29:17 2016 -0700 |
committer | Wyatt Allen <wyatta@google.com> | Wed Aug 10 11:47:27 2016 -0700 |
tree | 998013e230babdb3a32776ec6ddc14442e21d4d2 | |
parent | f496436abebb14fab13bee218aa79321e72ccf05 [diff] |
Applies optimizations to GR-DIFF-SELECTION A major source of latency in creating comments in large diffs stems from GR-DIFF-SELECTION applying selection-restricting classes to a parent of the diff. When the diff contains a large number of lines (and thus a large number of elements) applying a class forces a style recompute for the substantial subtree. This change optimizes this in two ways: * **Initialize to the right side:** The selection-restricting class is initialized to the right side, before the diff is even completely built. This eliminates the need for a recomputation preceding the first comment add on the right side (the most-likely side to be interacted with). * **Minimize the number of class modifications:** only add or remove classes when necessary. This eliminates recomputes for consecutive mousedown events that occur on the a common diff side. On an i7 MBP, this eliminates ~120ms for the first comment on the right and ~40ms for subsequent such comments. Change-Id: Ibb8a7eca0398a5c7265dc1385967bce3dae5e5ef
Gerrit is a code review and project management tool for Git based projects.
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.
For information about how to install and use Gerrit, refer to the documentation.
Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.
Please report bugs on the issue tracker.
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.
The IRC channel on freenode is #gerrit. An archive is available at: echelog.com.
The Developer Mailing list is repo-discuss on Google Groups.
Gerrit is provided under the Apache License 2.0.
Install Buck and run the following:
git clone --recursive https://gerrit.googlesource.com/gerrit cd gerrit && buck build release
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.