Merge "Add paths_only projection to the recursive tree JSON API"
diff --git a/BUILD b/BUILD
index 9782c01..a60423a 100644
--- a/BUILD
+++ b/BUILD
@@ -3,7 +3,9 @@
pkg_war(
name = "gitiles",
context = ["//resources/com/google/gitiles:webassets"],
+ exclude_jar_prefixes = ["libjgit.jar"],
libs = [
+ "@jgit//org.eclipse.jgit:jgit-stamped",
"//lib/jetty:server",
"//lib/jetty:servlet",
"//lib:slf4j-simple",
diff --git a/external_deps.lock.json b/external_deps.lock.json
index c0f6c6d..a10b138 100755
--- a/external_deps.lock.json
+++ b/external_deps.lock.json
@@ -19,8 +19,6 @@
"com.google.truth:truth": -790731381,
"com.googlecode.javaewah:JavaEWAH": 1917029137,
"com.ibm.icu:icu4j": -802150924,
- "com.jcraft:jsch": 1133842314,
- "com.jcraft:jzlib": 864660349,
"commons-codec:commons-codec": -1724312797,
"commons-io:commons-io": 1226199767,
"commons-logging:commons-logging": -916690979,
@@ -33,6 +31,7 @@
"net.java.dev.jna:jna": -867910362,
"net.java.dev.jna:jna-platform": -561312286,
"net.sf.jopt-simple:jopt-simple": 906822697,
+ "org.apache.ant:ant": 51716534,
"org.apache.commons:commons-compress": -1289113474,
"org.apache.commons:commons-lang3": 109544183,
"org.apache.commons:commons-math3": -1738699872,
@@ -127,10 +126,6 @@
"com.googlecode.javaewah:JavaEWAH:jar:sources": 1003442530,
"com.ibm.icu:icu4j": -1725310050,
"com.ibm.icu:icu4j:jar:sources": 163265109,
- "com.jcraft:jsch": 1084501210,
- "com.jcraft:jsch:jar:sources": -586408740,
- "com.jcraft:jzlib": -1423321085,
- "com.jcraft:jzlib:jar:sources": 1440827148,
"com.sun.jdmk:jmxtools": 2035346891,
"com.sun.jmx:jmxri": 2035346891,
"commons-codec:commons-codec": -28659539,
@@ -170,6 +165,10 @@
"net.java.dev.jna:jna:jar:sources": -902150228,
"net.sf.jopt-simple:jopt-simple": -1677351973,
"net.sf.jopt-simple:jopt-simple:jar:sources": 1072431863,
+ "org.apache.ant:ant": -431447101,
+ "org.apache.ant:ant-launcher": -333622244,
+ "org.apache.ant:ant-launcher:jar:sources": -77100552,
+ "org.apache.ant:ant:jar:sources": 389240804,
"org.apache.commons:commons-compress": 2043911487,
"org.apache.commons:commons-compress:jar:sources": -1888643111,
"org.apache.commons:commons-lang3": -850748327,
@@ -441,20 +440,6 @@
},
"version": "78.2"
},
- "com.jcraft:jsch": {
- "shasums": {
- "jar": "d492b15a6d2ea3f1cc39c422c953c40c12289073dbe8360d98c0f6f9ec74fc44",
- "sources": "e01ff2d282aa1b492bbb6187b3e363cd20a6ef51a6f23ae0ec4be179570a8480"
- },
- "version": "0.1.55"
- },
- "com.jcraft:jzlib": {
- "shasums": {
- "jar": "89b1360f407381bf61fde411019d8cbd009ebb10cff715f3669017a031027560",
- "sources": "35ebd67941ce7024e6e7d80b60a4252a9687fa0f909a7079ac904bef6c1658cf"
- },
- "version": "1.1.3"
- },
"com.sun.jdmk:jmxtools": {
"shasums": {
"jar": null
@@ -599,6 +584,20 @@
},
"version": "5.0.4"
},
+ "org.apache.ant:ant": {
+ "shasums": {
+ "jar": "763acda4a69588c9ea8817a952851ff0c2fc4bffa1d081c2565dc407f29d5794",
+ "sources": "817ebf06c0a01d5d59cae996815b154b7b7172d40d75304f39ab107e8133c0d6"
+ },
+ "version": "1.10.15"
+ },
+ "org.apache.ant:ant-launcher": {
+ "shasums": {
+ "jar": "5c8551990307a032336d98ddaed549a39a689f07d4d4c6b950601bf22b3d6a1b",
+ "sources": "ab774b88172f80beb0e11e697adbab13e8436b4c959bef51d5dba44f1d192d72"
+ },
+ "version": "1.10.15"
+ },
"org.apache.commons:commons-compress": {
"shasums": {
"jar": "e1522945218456f3649a39bc4afd70ce4bd466221519dba7d378f2141a4642ca",
@@ -1044,6 +1043,9 @@
"net.java.dev.jna:jna-platform": [
"net.java.dev.jna:jna"
],
+ "org.apache.ant:ant": [
+ "org.apache.ant:ant-launcher"
+ ],
"org.apache.commons:commons-compress": [
"commons-codec:commons-codec",
"commons-io:commons-io",
@@ -1417,15 +1419,6 @@
"com.ibm.icu.text",
"com.ibm.icu.util"
],
- "com.jcraft:jsch": [
- "com.jcraft.jsch",
- "com.jcraft.jsch.jce",
- "com.jcraft.jsch.jcraft",
- "com.jcraft.jsch.jgss"
- ],
- "com.jcraft:jzlib": [
- "com.jcraft.jzlib"
- ],
"commons-codec:commons-codec": [
"org.apache.commons.codec",
"org.apache.commons.codec.binary",
@@ -1636,6 +1629,73 @@
"joptsimple.internal",
"joptsimple.util"
],
+ "org.apache.ant:ant": [
+ "org.apache.tools.ant",
+ "org.apache.tools.ant.attribute",
+ "org.apache.tools.ant.dispatch",
+ "org.apache.tools.ant.filters",
+ "org.apache.tools.ant.filters.util",
+ "org.apache.tools.ant.helper",
+ "org.apache.tools.ant.input",
+ "org.apache.tools.ant.listener",
+ "org.apache.tools.ant.loader",
+ "org.apache.tools.ant.property",
+ "org.apache.tools.ant.taskdefs",
+ "org.apache.tools.ant.taskdefs.compilers",
+ "org.apache.tools.ant.taskdefs.condition",
+ "org.apache.tools.ant.taskdefs.cvslib",
+ "org.apache.tools.ant.taskdefs.email",
+ "org.apache.tools.ant.taskdefs.launcher",
+ "org.apache.tools.ant.taskdefs.modules",
+ "org.apache.tools.ant.taskdefs.optional",
+ "org.apache.tools.ant.taskdefs.optional.ccm",
+ "org.apache.tools.ant.taskdefs.optional.clearcase",
+ "org.apache.tools.ant.taskdefs.optional.depend",
+ "org.apache.tools.ant.taskdefs.optional.depend.constantpool",
+ "org.apache.tools.ant.taskdefs.optional.ejb",
+ "org.apache.tools.ant.taskdefs.optional.extension",
+ "org.apache.tools.ant.taskdefs.optional.extension.resolvers",
+ "org.apache.tools.ant.taskdefs.optional.i18n",
+ "org.apache.tools.ant.taskdefs.optional.j2ee",
+ "org.apache.tools.ant.taskdefs.optional.javacc",
+ "org.apache.tools.ant.taskdefs.optional.javah",
+ "org.apache.tools.ant.taskdefs.optional.jlink",
+ "org.apache.tools.ant.taskdefs.optional.jsp",
+ "org.apache.tools.ant.taskdefs.optional.jsp.compilers",
+ "org.apache.tools.ant.taskdefs.optional.native2ascii",
+ "org.apache.tools.ant.taskdefs.optional.net",
+ "org.apache.tools.ant.taskdefs.optional.pvcs",
+ "org.apache.tools.ant.taskdefs.optional.script",
+ "org.apache.tools.ant.taskdefs.optional.sos",
+ "org.apache.tools.ant.taskdefs.optional.testing",
+ "org.apache.tools.ant.taskdefs.optional.unix",
+ "org.apache.tools.ant.taskdefs.optional.vss",
+ "org.apache.tools.ant.taskdefs.optional.windows",
+ "org.apache.tools.ant.taskdefs.rmic",
+ "org.apache.tools.ant.types",
+ "org.apache.tools.ant.types.mappers",
+ "org.apache.tools.ant.types.optional",
+ "org.apache.tools.ant.types.optional.depend",
+ "org.apache.tools.ant.types.resources",
+ "org.apache.tools.ant.types.resources.comparators",
+ "org.apache.tools.ant.types.resources.selectors",
+ "org.apache.tools.ant.types.selectors",
+ "org.apache.tools.ant.types.selectors.modifiedselector",
+ "org.apache.tools.ant.types.spi",
+ "org.apache.tools.ant.util",
+ "org.apache.tools.ant.util.depend",
+ "org.apache.tools.ant.util.facade",
+ "org.apache.tools.ant.util.java15",
+ "org.apache.tools.ant.util.optional",
+ "org.apache.tools.ant.util.regexp",
+ "org.apache.tools.bzip2",
+ "org.apache.tools.mail",
+ "org.apache.tools.tar",
+ "org.apache.tools.zip"
+ ],
+ "org.apache.ant:ant-launcher": [
+ "org.apache.tools.ant.launch"
+ ],
"org.apache.commons:commons-compress": [
"org.apache.commons.compress",
"org.apache.commons.compress.archivers",
@@ -2784,10 +2844,6 @@
"com.googlecode.javaewah:JavaEWAH:jar:sources",
"com.ibm.icu:icu4j",
"com.ibm.icu:icu4j:jar:sources",
- "com.jcraft:jsch",
- "com.jcraft:jsch:jar:sources",
- "com.jcraft:jzlib",
- "com.jcraft:jzlib:jar:sources",
"commons-codec:commons-codec",
"commons-codec:commons-codec:jar:sources",
"commons-io:commons-io",
@@ -2824,6 +2880,10 @@
"net.java.dev.jna:jna:jar:sources",
"net.sf.jopt-simple:jopt-simple",
"net.sf.jopt-simple:jopt-simple:jar:sources",
+ "org.apache.ant:ant",
+ "org.apache.ant:ant-launcher",
+ "org.apache.ant:ant-launcher:jar:sources",
+ "org.apache.ant:ant:jar:sources",
"org.apache.commons:commons-compress",
"org.apache.commons:commons-compress:jar:sources",
"org.apache.commons:commons-lang3",
diff --git a/javatests/com/google/gitiles/DiffServletTest.java b/javatests/com/google/gitiles/DiffServletTest.java
index 295418e..5d59a67 100644
--- a/javatests/com/google/gitiles/DiffServletTest.java
+++ b/javatests/com/google/gitiles/DiffServletTest.java
@@ -49,6 +49,8 @@
+ " href=\"/b/repo/+/%s/foo\">b/foo</a>",
c1.name(), c2.name());
assertThat(actual).contains(diffHeader);
+ assertThat(actual).contains("<span class=\"Diff-change\"> foo</span>");
+ assertThat(actual).contains("<span class=\"Diff-insert\">+contents</span>");
}
@Test
diff --git a/javatests/com/google/gitiles/ThemeTest.java b/javatests/com/google/gitiles/ThemeTest.java
index 7e91a65..4b8cf5d 100644
--- a/javatests/com/google/gitiles/ThemeTest.java
+++ b/javatests/com/google/gitiles/ThemeTest.java
@@ -15,8 +15,10 @@
package com.google.gitiles;
import static com.google.common.truth.Truth.assertThat;
+import static java.nio.charset.StandardCharsets.UTF_8;
import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
+import com.google.common.io.Resources;
import org.eclipse.jgit.internal.storage.dfs.DfsRepositoryDescription;
import org.eclipse.jgit.internal.storage.dfs.InMemoryRepository;
import org.eclipse.jgit.junit.TestRepository;
@@ -130,6 +132,19 @@
assertThemeElementsPresent(html);
}
+ @Test
+ public void diffChangeColorIsGreyNotYellow() throws Exception {
+ String css =
+ Resources.toString(
+ Resources.getResource(Renderer.class, "static/base.css"), UTF_8);
+ // Unchanged lines in unified diffs are formatted with class Diff-change.
+ // Ensure --diff-change resolves to grey in both light and dark modes instead of yellow.
+ assertThat(css).contains("--diff-change: #666;");
+ assertThat(css).contains("--diff-change: #9aa0a6;");
+ assertThat(css).doesNotContain("--diff-change: #960;");
+ assertThat(css).doesNotContain("--diff-change: #fdd663;");
+ }
+
private static void assertThemeElementsPresent(String html) {
assertThat(html).contains("id=\"gitiles-theme-toggle\"");
assertThat(html).contains("Header-themeToggle");
diff --git a/modules/jgit b/modules/jgit
index 2bf2e4a..87eaf66 160000
--- a/modules/jgit
+++ b/modules/jgit
@@ -1 +1 @@
-Subproject commit 2bf2e4a32ef9347617a73ae739d08fc48c029989
+Subproject commit 87eaf6628b8ef58591382f15fa7e442639e1be91
diff --git a/resources/com/google/gitiles/static/base.css b/resources/com/google/gitiles/static/base.css
index d5054e7..8c21311 100644
--- a/resources/com/google/gitiles/static/base.css
+++ b/resources/com/google/gitiles/static/base.css
@@ -48,7 +48,7 @@
--diff-hunk: #00c;
--diff-delete: #c00;
--diff-insert: #080;
- --diff-change: #960;
+ --diff-change: #666;
--diff-action-add: #060;
--diff-action-delete: #600;
--diff-action-rename: #006;
@@ -99,7 +99,7 @@
--diff-hunk: #8ab4f8;
--diff-delete: #f28b82;
--diff-insert: #81c995;
- --diff-change: #fdd663;
+ --diff-change: #9aa0a6;
--diff-action-add: #81c995;
--diff-action-delete: #f28b82;
--diff-action-rename: #8ab4f8;
@@ -142,7 +142,7 @@
--diff-hunk: #8ab4f8;
--diff-delete: #f28b82;
--diff-insert: #81c995;
- --diff-change: #fdd663;
+ --diff-change: #9aa0a6;
--diff-action-add: #81c995;
--diff-action-delete: #f28b82;
--diff-action-rename: #8ab4f8;