summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Milanesio <luca.milanesio@gmail.com>2023-11-24 13:10:15 +0000
committerLuca Milanesio <luca.milanesio@gmail.com>2023-11-24 13:10:47 +0000
commit120bf002cb210552dcf4e4141b528900ccce50c2 (patch)
tree8d632d00e6c48d7c0cee54c13487fd190500a87c
parent0d0cc209ffa3e0383409327b74b0a1f08557158d (diff)
parente8ed719058ba74ef789d05c362e283c60e4e640a (diff)
Merge branch 'stable-3.6' into stable-3.7
* stable-3.6: Set version to 3.6.9-SNAPSHOT Set version to 3.6.8 Update jgit to 82e277c81339 Fire `ref-updated` stream events on online edit refs update Fix documentation attributes bug Introduce Documentation:searchfree_safe with local-only fonts Release-Notes: skip Change-Id: I3f65ae41849ff6f0fae09199eea3122cfd02155a
-rw-r--r--Documentation/BUILD10
-rw-r--r--Documentation/dev-bazel.txt13
-rw-r--r--java/com/google/gerrit/server/edit/ChangeEditModifier.java17
-rw-r--r--java/com/google/gerrit/server/edit/ChangeEditUtil.java12
-rw-r--r--tools/bzl/asciidoc.bzl3
5 files changed, 49 insertions, 6 deletions
diff --git a/Documentation/BUILD b/Documentation/BUILD
index af355ca56d..85ddbe7413 100644
--- a/Documentation/BUILD
+++ b/Documentation/BUILD
@@ -126,3 +126,13 @@ genasciidoc_zip(
directory = DOC_DIR,
searchbox = False,
)
+
+genasciidoc_zip(
+ name = "searchfree_safe",
+ srcs = SRCS,
+ attributes = documentation_attributes(),
+ backend = "html5",
+ directory = DOC_DIR,
+ searchbox = False,
+ webfonts = False,
+)
diff --git a/Documentation/dev-bazel.txt b/Documentation/dev-bazel.txt
index 08529dfcba..a2bd6fca6e 100644
--- a/Documentation/dev-bazel.txt
+++ b/Documentation/dev-bazel.txt
@@ -225,6 +225,19 @@ The html files will be bundled into `searchfree.zip` in this location:
bazel-bin/Documentation/searchfree.zip
----
+To use local fonts with the searchfree target:
+
+----
+ bazel build Documentation:searchfree_safe
+----
+
+The html files will be bundled into `searchfree.zip` or `searchfree_safe.zip` in this location:
+
+----
+ bazel-bin/Documentation/searchfree.zip
+ bazel-bin/Documentation/searchfree_safe.zip
+----
+
To generate HTML files skipping the zip archiving:
----
diff --git a/java/com/google/gerrit/server/edit/ChangeEditModifier.java b/java/com/google/gerrit/server/edit/ChangeEditModifier.java
index 9c3210d5df..765dd591cf 100644
--- a/java/com/google/gerrit/server/edit/ChangeEditModifier.java
+++ b/java/com/google/gerrit/server/edit/ChangeEditModifier.java
@@ -33,12 +33,14 @@ import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.GerritPersonIdent;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.PatchSetUtil;
+import com.google.gerrit.server.account.AccountState;
import com.google.gerrit.server.edit.tree.ChangeFileContentModification;
import com.google.gerrit.server.edit.tree.DeleteFileModification;
import com.google.gerrit.server.edit.tree.RenameFileModification;
import com.google.gerrit.server.edit.tree.RestoreFileModification;
import com.google.gerrit.server.edit.tree.TreeCreator;
import com.google.gerrit.server.edit.tree.TreeModification;
+import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.index.change.ChangeIndexer;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.permissions.ChangePermission;
@@ -107,7 +109,8 @@ public class ChangeEditModifier {
PermissionBackend permissionBackend,
ChangeEditUtil changeEditUtil,
PatchSetUtil patchSetUtil,
- ProjectCache projectCache) {
+ ProjectCache projectCache,
+ GitReferenceUpdated gitRefUpdated) {
this.currentUser = currentUser;
this.permissionBackend = permissionBackend;
this.zoneId = gerritIdent.getZoneId();
@@ -115,7 +118,7 @@ public class ChangeEditModifier {
this.patchSetUtil = patchSetUtil;
this.projectCache = projectCache;
- noteDbEdits = new NoteDbEdits(zoneId, indexer, currentUser);
+ noteDbEdits = new NoteDbEdits(zoneId, indexer, currentUser, gitRefUpdated);
}
/**
@@ -712,11 +715,17 @@ public class ChangeEditModifier {
private final ZoneId zoneId;
private final ChangeIndexer indexer;
private final Provider<CurrentUser> currentUser;
+ private final GitReferenceUpdated gitRefUpdated;
- NoteDbEdits(ZoneId zoneId, ChangeIndexer indexer, Provider<CurrentUser> currentUser) {
+ NoteDbEdits(
+ ZoneId zoneId,
+ ChangeIndexer indexer,
+ Provider<CurrentUser> currentUser,
+ GitReferenceUpdated gitRefUpdated) {
this.zoneId = zoneId;
this.indexer = indexer;
this.currentUser = currentUser;
+ this.gitRefUpdated = gitRefUpdated;
}
ChangeEdit createEdit(
@@ -772,6 +781,7 @@ public class ChangeEditModifier {
ObjectId targetObjectId,
Instant timestamp)
throws IOException {
+ AccountState userAccountState = currentUser.get().asIdentifiedUser().state();
RefUpdate ru = repository.updateRef(refName);
ru.setExpectedOldObjectId(currentObjectId);
ru.setNewObjectId(targetObjectId);
@@ -787,6 +797,7 @@ public class ChangeEditModifier {
if (res != RefUpdate.Result.NEW && res != RefUpdate.Result.FORCED) {
throw new IOException(message);
}
+ gitRefUpdated.fire(projectName, ru, userAccountState);
}
}
diff --git a/java/com/google/gerrit/server/edit/ChangeEditUtil.java b/java/com/google/gerrit/server/edit/ChangeEditUtil.java
index 8aba9f7bcc..96a84f605b 100644
--- a/java/com/google/gerrit/server/edit/ChangeEditUtil.java
+++ b/java/com/google/gerrit/server/edit/ChangeEditUtil.java
@@ -29,9 +29,11 @@ import com.google.gerrit.server.ChangeUtil;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.PatchSetUtil;
+import com.google.gerrit.server.account.AccountState;
import com.google.gerrit.server.change.ChangeKindCache;
import com.google.gerrit.server.change.NotifyResolver;
import com.google.gerrit.server.change.PatchSetInserter;
+import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.index.change.ChangeIndexer;
import com.google.gerrit.server.notedb.ChangeNotes;
@@ -69,6 +71,7 @@ public class ChangeEditUtil {
private final Provider<CurrentUser> userProvider;
private final ChangeKindCache changeKindCache;
private final PatchSetUtil psUtil;
+ private final GitReferenceUpdated gitRefUpdated;
@Inject
ChangeEditUtil(
@@ -77,13 +80,15 @@ public class ChangeEditUtil {
ChangeIndexer indexer,
Provider<CurrentUser> userProvider,
ChangeKindCache changeKindCache,
- PatchSetUtil psUtil) {
+ PatchSetUtil psUtil,
+ GitReferenceUpdated gitRefUpdated) {
this.gitManager = gitManager;
this.patchSetInserterFactory = patchSetInserterFactory;
this.indexer = indexer;
this.userProvider = userProvider;
this.changeKindCache = changeKindCache;
this.psUtil = psUtil;
+ this.gitRefUpdated = gitRefUpdated;
}
/**
@@ -237,7 +242,8 @@ public class ChangeEditUtil {
return writeSquashedCommit(rw, inserter, parent, edit);
}
- private static void deleteRef(Repository repo, ChangeEdit edit) throws IOException {
+ private void deleteRef(Repository repo, ChangeEdit edit) throws IOException {
+ AccountState userAccountState = userProvider.get().asIdentifiedUser().state();
String refName = edit.getRefName();
RefUpdate ru = repo.updateRef(refName, true);
ru.setExpectedOldObjectId(edit.getEditCommit());
@@ -246,6 +252,8 @@ public class ChangeEditUtil {
switch (result) {
case FORCED:
case NEW:
+ gitRefUpdated.fire(edit.getChange().getProject(), ru, userAccountState);
+ break;
case NO_CHANGE:
break;
case LOCK_FAILURE:
diff --git a/tools/bzl/asciidoc.bzl b/tools/bzl/asciidoc.bzl
index 7977cf051d..703d5b7173 100644
--- a/tools/bzl/asciidoc.bzl
+++ b/tools/bzl/asciidoc.bzl
@@ -300,13 +300,14 @@ def genasciidoc_zip(
backend = None,
searchbox = True,
resources = True,
+ webfonts = True,
**kwargs):
SUFFIX = "_htmlonly"
_genasciidoc_htmlonly_zip(
name = name + SUFFIX if resources else name,
srcs = srcs,
- attributes = attributes,
+ attributes = attributes + ([] if webfonts else ["webfonts!"]),
backend = backend,
searchbox = searchbox,
**kwargs