Move edit ref name methods from ChangeEditUtil to RefNames
Change-Id: I797c227fed66ef1e5761c6367f1a96aaeb23c7f2
This commit is contained in:
@@ -78,6 +78,36 @@ public class RefNames {
|
|||||||
return r.toString();
|
return r.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns reference for this change edit with sharded user and change number:
|
||||||
|
* refs/users/UU/UUUU/edit-CCCC/P.
|
||||||
|
*
|
||||||
|
* @param accountId account id
|
||||||
|
* @param changeId change number
|
||||||
|
* @param psId patch set number
|
||||||
|
* @return reference for this change edit
|
||||||
|
*/
|
||||||
|
public static String refsEdit(Account.Id accountId, Change.Id changeId,
|
||||||
|
PatchSet.Id psId) {
|
||||||
|
return refsEditPrefix(accountId, changeId) + psId.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns reference prefix for this change edit with sharded user and
|
||||||
|
* change number: refs/users/UU/UUUU/edit-CCCC/.
|
||||||
|
*
|
||||||
|
* @param accountId account id
|
||||||
|
* @param changeId change number
|
||||||
|
* @return reference prefix for this change edit
|
||||||
|
*/
|
||||||
|
public static String refsEditPrefix(Account.Id accountId, Change.Id changeId) {
|
||||||
|
return new StringBuilder(refsUsers(accountId))
|
||||||
|
.append("/edit-")
|
||||||
|
.append(changeId.get())
|
||||||
|
.append("/")
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
|
||||||
private RefNames() {
|
private RefNames() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -18,6 +18,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||||||
|
|
||||||
import com.google.gerrit.reviewdb.client.Change;
|
import com.google.gerrit.reviewdb.client.Change;
|
||||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||||
|
import com.google.gerrit.reviewdb.client.RefNames;
|
||||||
import com.google.gerrit.reviewdb.client.RevId;
|
import com.google.gerrit.reviewdb.client.RevId;
|
||||||
import com.google.gerrit.server.IdentifiedUser;
|
import com.google.gerrit.server.IdentifiedUser;
|
||||||
|
|
||||||
@@ -71,7 +72,7 @@ public class ChangeEdit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getRefName() {
|
public String getRefName() {
|
||||||
return ChangeEditUtil.editRefName(user.getAccountId(), change.getId(),
|
return RefNames.refsEdit(user.getAccountId(), change.getId(),
|
||||||
basePatchSet.getId());
|
basePatchSet.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,8 +16,6 @@ package com.google.gerrit.server.edit;
|
|||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
import static com.google.gerrit.server.edit.ChangeEditUtil.editRefName;
|
|
||||||
import static com.google.gerrit.server.edit.ChangeEditUtil.editRefPrefix;
|
|
||||||
import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
|
import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
@@ -30,6 +28,7 @@ import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
|||||||
import com.google.gerrit.reviewdb.client.Change;
|
import com.google.gerrit.reviewdb.client.Change;
|
||||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||||
import com.google.gerrit.reviewdb.client.Project;
|
import com.google.gerrit.reviewdb.client.Project;
|
||||||
|
import com.google.gerrit.reviewdb.client.RefNames;
|
||||||
import com.google.gerrit.server.CurrentUser;
|
import com.google.gerrit.server.CurrentUser;
|
||||||
import com.google.gerrit.server.GerritPersonIdent;
|
import com.google.gerrit.server.GerritPersonIdent;
|
||||||
import com.google.gerrit.server.IdentifiedUser;
|
import com.google.gerrit.server.IdentifiedUser;
|
||||||
@@ -116,7 +115,7 @@ public class ChangeEditModifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
IdentifiedUser me = (IdentifiedUser) currentUser.get();
|
IdentifiedUser me = (IdentifiedUser) currentUser.get();
|
||||||
String refPrefix = editRefPrefix(me.getAccountId(), change.getId());
|
String refPrefix = RefNames.refsEditPrefix(me.getAccountId(), change.getId());
|
||||||
|
|
||||||
try (Repository repo = gitManager.openRepository(change.getProject())) {
|
try (Repository repo = gitManager.openRepository(change.getProject())) {
|
||||||
Map<String, Ref> refs = repo.getRefDatabase().getRefs(refPrefix);
|
Map<String, Ref> refs = repo.getRefDatabase().getRefs(refPrefix);
|
||||||
@@ -126,7 +125,7 @@ public class ChangeEditModifier {
|
|||||||
|
|
||||||
try (RevWalk rw = new RevWalk(repo)) {
|
try (RevWalk rw = new RevWalk(repo)) {
|
||||||
ObjectId revision = ObjectId.fromString(ps.getRevision().get());
|
ObjectId revision = ObjectId.fromString(ps.getRevision().get());
|
||||||
String editRefName = editRefName(me.getAccountId(), change.getId(),
|
String editRefName = RefNames.refsEdit(me.getAccountId(), change.getId(),
|
||||||
ps.getId());
|
ps.getId());
|
||||||
return update(repo, me, editRefName, rw, ObjectId.zeroId(), revision);
|
return update(repo, me, editRefName, rw, ObjectId.zeroId(), revision);
|
||||||
}
|
}
|
||||||
@@ -152,7 +151,7 @@ public class ChangeEditModifier {
|
|||||||
|
|
||||||
Change change = edit.getChange();
|
Change change = edit.getChange();
|
||||||
IdentifiedUser me = (IdentifiedUser) currentUser.get();
|
IdentifiedUser me = (IdentifiedUser) currentUser.get();
|
||||||
String refName = editRefName(me.getAccountId(), change.getId(),
|
String refName = RefNames.refsEdit(me.getAccountId(), change.getId(),
|
||||||
current.getId());
|
current.getId());
|
||||||
try (Repository repo = gitManager.openRepository(change.getProject());
|
try (Repository repo = gitManager.openRepository(change.getProject());
|
||||||
RevWalk rw = new RevWalk(repo);
|
RevWalk rw = new RevWalk(repo);
|
||||||
|
@@ -21,7 +21,6 @@ import com.google.common.collect.Iterables;
|
|||||||
import com.google.gerrit.common.TimeUtil;
|
import com.google.gerrit.common.TimeUtil;
|
||||||
import com.google.gerrit.extensions.restapi.AuthException;
|
import com.google.gerrit.extensions.restapi.AuthException;
|
||||||
import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
||||||
import com.google.gerrit.reviewdb.client.Account;
|
|
||||||
import com.google.gerrit.reviewdb.client.Change;
|
import com.google.gerrit.reviewdb.client.Change;
|
||||||
import com.google.gerrit.reviewdb.client.Change.Status;
|
import com.google.gerrit.reviewdb.client.Change.Status;
|
||||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||||
@@ -110,7 +109,7 @@ public class ChangeEditUtil {
|
|||||||
public Optional<ChangeEdit> byChange(Change change, IdentifiedUser user)
|
public Optional<ChangeEdit> byChange(Change change, IdentifiedUser user)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
try (Repository repo = gitManager.openRepository(change.getProject())) {
|
try (Repository repo = gitManager.openRepository(change.getProject())) {
|
||||||
String editRefPrefix = editRefPrefix(user.getAccountId(), change.getId());
|
String editRefPrefix = RefNames.refsEditPrefix(user.getAccountId(), change.getId());
|
||||||
Map<String, Ref> refs = repo.getRefDatabase().getRefs(editRefPrefix);
|
Map<String, Ref> refs = repo.getRefDatabase().getRefs(editRefPrefix);
|
||||||
if (refs.isEmpty()) {
|
if (refs.isEmpty()) {
|
||||||
return Optional.absent();
|
return Optional.absent();
|
||||||
@@ -190,34 +189,6 @@ public class ChangeEditUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns reference for this change edit with sharded user and change number:
|
|
||||||
* refs/users/UU/UUUU/edit-CCCC/P.
|
|
||||||
*
|
|
||||||
* @param accountId accout id
|
|
||||||
* @param changeId change number
|
|
||||||
* @param psId patch set number
|
|
||||||
* @return reference for this change edit
|
|
||||||
*/
|
|
||||||
public static String editRefName(Account.Id accountId, Change.Id changeId,
|
|
||||||
PatchSet.Id psId) {
|
|
||||||
return editRefPrefix(accountId, changeId) + psId.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns reference prefix for this change edit with sharded user and
|
|
||||||
* change number: refs/users/UU/UUUU/edit-CCCC/.
|
|
||||||
*
|
|
||||||
* @param accountId accout id
|
|
||||||
* @param changeId change number
|
|
||||||
* @return reference prefix for this change edit
|
|
||||||
*/
|
|
||||||
static String editRefPrefix(Account.Id accountId, Change.Id changeId) {
|
|
||||||
return String.format("%s/edit-%d/",
|
|
||||||
RefNames.refsUsers(accountId),
|
|
||||||
changeId.get());
|
|
||||||
}
|
|
||||||
|
|
||||||
private RevCommit squashEdit(RevWalk rw, ObjectInserter inserter,
|
private RevCommit squashEdit(RevWalk rw, ObjectInserter inserter,
|
||||||
RevCommit edit, PatchSet basePatchSet)
|
RevCommit edit, PatchSet basePatchSet)
|
||||||
throws IOException, ResourceConflictException {
|
throws IOException, ResourceConflictException {
|
||||||
|
@@ -2011,7 +2011,7 @@ public class ReceiveCommits {
|
|||||||
cmd = new ReceiveCommand(
|
cmd = new ReceiveCommand(
|
||||||
ObjectId.zeroId(),
|
ObjectId.zeroId(),
|
||||||
newCommit,
|
newCommit,
|
||||||
ChangeEditUtil.editRefName(
|
RefNames.refsEdit(
|
||||||
currentUser.getAccountId(),
|
currentUser.getAccountId(),
|
||||||
change.getId(),
|
change.getId(),
|
||||||
newPatchSet.getId()));
|
newPatchSet.getId()));
|
||||||
|
@@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals;
|
|||||||
import com.google.gerrit.reviewdb.client.Account;
|
import com.google.gerrit.reviewdb.client.Account;
|
||||||
import com.google.gerrit.reviewdb.client.Change;
|
import com.google.gerrit.reviewdb.client.Change;
|
||||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||||
|
import com.google.gerrit.reviewdb.client.RefNames;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
@@ -28,7 +29,7 @@ public class ChangeEditTest {
|
|||||||
Account.Id accountId = new Account.Id(1000042);
|
Account.Id accountId = new Account.Id(1000042);
|
||||||
Change.Id changeId = new Change.Id(56414);
|
Change.Id changeId = new Change.Id(56414);
|
||||||
PatchSet.Id psId = new PatchSet.Id(changeId, 50);
|
PatchSet.Id psId = new PatchSet.Id(changeId, 50);
|
||||||
String refName = ChangeEditUtil.editRefName(accountId, changeId, psId);
|
String refName = RefNames.refsEdit(accountId, changeId, psId);
|
||||||
assertEquals("refs/users/42/1000042/edit-56414/50", refName);
|
assertEquals("refs/users/42/1000042/edit-56414/50", refName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user