HTTP/2 301
server: AkamaiGHost
content-length: 0
location: https://openjdk.org/projects/code-tools/webrev/
date: Sat, 11 Oct 2025 03:55:16 GMT
HTTP/2 200
content-type: text/html
last-modified: Tue, 09 Sep 2025 21:30:36 GMT
vary: Accept-Encoding
etag: "68c09c7c-279b"
content-security-policy-report-only: default-src 'self' *.openjdk.java.net feedburner.google.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' feeds.feedburner.com *.statcounter.com statcounter.com; img-src 'self' data: *.statcounter.com *.openjdk.java.net feedburner.google.com; frame-ancestors 'none'; report-uri https://openjdk.report-uri.io/r/default/csp/reportOnly
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
accept-ranges: bytes
x-akamai-transformed: 0 - 0 -
content-encoding: gzip
date: Sat, 11 Oct 2025 03:55:17 GMT
content-length: 2802
set-cookie: _abck=90988B72F7F102310F04B86996BF38C3~-1~YAAQNAHARcEdNZSZAQAAUZto0Q5Envm3DwERlivvhK8yn9r2B9+uayP3xHdrnTMcPY05k+88Lu593xh4Nqe5sl6s6vEEeW9zX5QT2uz+FJBDfu06P5gHDSmo7xXFhNuuarUaUz8Meh76QeRn+Rk//HwPJpXG5qyYPyjex76V19efPBrsUUxU+7RrzGlSsiB7u4UPeSO+CvxfzkYrGXw3Rswma3+41a0Qn6K/L1GxO7ey4zHgSw9SBgX1JLj1I7YCemsHgeh53Ya+tPSe9vEUbzmy9NjEMbvIqAHmwjDHaQ5mBNRmPoSWbao/4xx7GGpq8THml96yOk44BgkG7QFlrFeXb0sauZWN7qpi2GSReBp0115x1dLSpa9NkD5d5N+NAGRIC+Crb9EWMAJOcFxfcn5Lj9XV++WVChaU92MqjzCP4kfczKF0dX03+3v8/iy2hzRO8w8g9OAK~-1~-1~-1~-1~-1; Domain=.openjdk.org; Path=/; Expires=Sun, 11 Oct 2026 03:55:17 GMT; Max-Age=31536000; Secure
set-cookie: bm_sz=29211B17F9B4F7AA0EA1F33EB3BDB58B~YAAQNAHARcIdNZSZAQAAUZto0R1a8zfbMY/qBXi8ALqoMz/bL/DQ5jztfjQ3PyenPmwKgGxiVbHA+Xh6hpYmuwsQljs0RbEiRzD3a0oo8o2x1iql9LVF/bThZy2MojvoZvhdl4/hzh/KemcHExJTk8b0Oqnz+luusEF+XECsPKeZkvvWauanwGE6/9yvOeCftLR5Vr+O0yDVzOtDN/oq3Alp1tkfXe70jr15CMthF87f14Hr6S232ftxCCLIxiQwcPVtS0j1fQAGbcCwTpesZ4aKB4sKrxg+guSTDSc8SIZ21OBNUGjolZEL6BMUdKHKjFi/zl+bzL+s9ow78oSt/vs0HCs4NRfk++w6Bn1pYHhLbKtWcQvrbTE=~3290182~3290180; Domain=.openjdk.org; Path=/; Expires=Sat, 11 Oct 2025 07:55:16 GMT; Max-Age=14399
Web-based diffs for code reviews: webrev
webrev
refers to both the tool for generating
web-based diffs for use in code reviews and its output. The script,
webrev.ksh
,
is maintained in the Code Tools Project.
webrev.ksh
crawls over your changes to generate a
set of web-based views of the differences in your code. The
different views allow reviewers to easily look at your proposed
changes, selecting the appropriate difference format based on the
type of file, the type of change, and their own preferences.
Examples
ksh ./webrev.ksh -N -r <REV>
Generate diffs between revision
<REV>
and the tip
. Output
created under the ./webrev/
directory.
ksh ./webrev.ksh -m -N -c <BUGID>
Force the use of Mercurial to generate diffs between all
modified files and the current tip
. At the top of the
main page Include a clickable link to
<BUGID>
in the OpenJDK Bug System. Output to
./webrev/
.
ksh WDIR=<OUTDIR> ./webrev.ksh
<FILE>
Useful when generating diffs across multiple repositories in the
forest, the <FILE>
contains a list of
files to diff. Output to alternate location
<OUTDIR>
.
ksh ./webrev.ksh -help
Complete list of options.