This script needs a bit more analysis to make sure all pathways
are covered, but this CL fixes an obvious path.
Change-Id: I2a8404b7a6eecd5cedba3daa20f63917a8d18482
The PEP-8 checker tool (pep8.py) [1, 2] is used to check that Python
scripts follow the Style Guide for Python Code [3].
This change adds a configuration file for that tool. The configuration
overrides the defaults for the following settings:
To make it easier to see what's wrong, enable:
- Quote the lines on which violations are found
- Quote the relevant section of the PEP-8 guideline
The maximum line length according to PEP-8 is 80 characters, but for
some reason the checker defaults to 79, therefore:
- Set maximum line length to 80 characters
According to PEP-8, code should be indented at 4 characters, but the
Google Python Style Guide [4] says 2. Code in Gerrit follows the
Google style, so:
- Disable warnings "Indentation is not a multiple of four"
The configuration is invoked with the --config option when running
the check tool:
$ pep8.py --config ./contrib/.pep8rc myfile.py
[1] https://github.com/jcrocholl/pep8
[2] https://pypi.python.org/pypi/pep8
[3] http://www.python.org/dev/peps/pep-0008/
[4] http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
Change-Id: If02dd9e51cf3a6e0c0238e78bcfad1d7081de742
* Mostly involves changing print to be a function, and adding
"from __future__ import print_function" for copatibility.
Change-Id: I3129233726e0116a348753a2e2bb68806a08668c
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
Tidy up the docstrings to follow PEP-0257 [1], the Python
Docstring Convention.
The following warnings, reported by the pep257 checker [2], are
removed.
- All modules should have docstrings.
- Multiline docstring should end with 1 blank line.
- First line should be in imperative mood ('Do', not 'Does').
- First line should end with a period.
[1] http://www.python.org/dev/peps/pep-0257/
[2] https://github.com/GreenSteam/pep257
Change-Id: Icdda650d77c3b52c6b4dba62467b45ade8229b48
Shrink the Diffy logo in the Diffy theme so that it doesn't consume
more vertical space than the header menu.
This now matches the theme that is used on
gerrit-review.googlesource.com.
Change-Id: I943253a24bf1e4ab8a74c23d68df8ea3fd18d115
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
like plink.
Two arguments are added:
--ssh - ssh executable to be used (default: "ssh")
--ssh-port-flag - port flag for ssh (default: "-p")
Since ssh-port-flag receives a flag it can only be
used with --arg=value notation
plink requires "--ssh plink --ssh-port-flag=-P"
Change-Id: I7f494e099de9a9877a3336fcd4e735a9d9dfd921
The argument was used before peer_keys was introduced.
Sharing the server's private key is insecure.
peer_keys should be used to allow administration from other
hosts.
Argument was not removed to maintain backward compatibility.
Change-Id: I0e9f54154c8c48b496230bb6b07ed3bdfe05d2d4
argparse is now used instead of optparse for parsing command-line
arguments.
This introduces dependency on Python 2.7 (or manual installation of the
argparse module).
Change-Id: I9bf169a15737b3ee21628d52b9ada7c2fc6faab5
W0622: Redefining built-in 'exit'
It is not necessary to explicitly import the `exit` method
from the `sys` module. Remove this import.
W0622: Redefining built-in 'dict'
Rename the variable `dict` to `data` to prevent redefinition
of the built-in.
W0612: Unused variable 'gsql_stderr'
W0612: Unused variable 'args'
Prefix unused variables with `_`.
Change-Id: I6c4f9a54a3a27eab09c419154f9e2ee6689536de
The contrib directory contains some Python scripts.
Add the pylint configuration file as used in the git-repo
project, so that it can also be used to check the scripts
here.
Change-Id: I115cf5773b2a9abcb5e760ac8a7999cfebbfdae6
git-exproll is a git garbage collection script aimed
specifically at reducing exccessive garbage collection and
particularly large packfile churn for Gerrit installations.
Excessive garbage collection on "dormant" repos is wasteful
of both CPU and disk IO. Large packfile churn can lead to
heavy RAM and FS usage on Gerrit servers when the Gerrit
process continues to hold open the old delete packfiles.
This situation is most detrimental when jgit is configured
with large caching parameters. Aside from these downsides,
running git gc often can be very beneficial to performance
on servers. This script attempts to implement a git gc
policy which avoids the downsides mentioned above so that
git gc can be comfortably run very regularly.
git-exproll.sh uses keep files to manage which files will
get repacked. It also uses timestamps on the repos to
detect dormant repos to avoid repacking them at all. The
primary packfile objective is to keep around a series of
packfiles with sizes spaced out exponentially from each
other, and to roll smaller packfiles into larger ones once
the smaller ones have grown. This strategy attempts to
balance disk space usage with avoiding rewriting large
packfiles most of the time.
The exponential packing objective above does not save a
large amount of time or CPU, but it does prevent the
packfile churn. Depending on repo usage, however the
dormant repo detection and avoidance can result in a very
large time savings.
Change-Id: I5e8c3cc02f6ca382d34f62af2cf12a9cb8ffd21e
This script can give negative scores to commits with improperly formatted
commit messages. This will help save reviewer's time and get developers in
the habbit of writing proper commit messages.