commit | 32b03fc76f1912e787d0ce3ae3a73df454f1232b | [log] [tgz] |
---|---|---|
author | Wyatt Allen <wyatta@google.com> | Fri Aug 05 15:56:33 2016 -0700 |
committer | Wyatt Allen <wyatta@google.com> | Thu Aug 11 12:35:31 2016 -0700 |
tree | b4b14e43cff8a23f1f286c7768da42173a84795e | |
parent | 0490413eb83cf3f9eafc459ff49076a1a02f0308 [diff] |
Applies optimizations to diff comment DOM attachment A source of latency when creating diff comments in large diffs is the work needed to reflow the diff DOM to make room for the new comment. This is particularly evident when adding comments to new files because the diff is built as an addition group representing the entire file, so the comment causes a reflow on every subsequent line. This change optimizes this process in three ways. * **Limit the size of ADD & REMOVE groups:** The diff processor will now break an add or a remove chunk into a series of smaller chunks of the same kind. This is controlled by the MAX_GROUP_SIZE constant. In this way the number of nodes that need to be reflowed when a comment is added to an add or remove group is limited to the number of subsequent lines in that group plus the subsequent number of groups. * **GPU optimize group in general:** Adds CSS properties to diff TBODY elements (which correspond to groups, for the most part) that trigger GPU acceleration when available. * **Apply `table-layout: fixed;`** This style speeds up table reflow in general. Change-Id: Ie0e3665b7752fec67f7123cfae70ae99e6f67521
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.