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();
|
||||
}
|
||||
|
||||
/**
|
||||
* 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() {
|
||||
}
|
||||
}
|
||||
|
@@ -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.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.RefNames;
|
||||
import com.google.gerrit.reviewdb.client.RevId;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
|
||||
@@ -71,7 +72,7 @@ public class ChangeEdit {
|
||||
}
|
||||
|
||||
public String getRefName() {
|
||||
return ChangeEditUtil.editRefName(user.getAccountId(), change.getId(),
|
||||
return RefNames.refsEdit(user.getAccountId(), change.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.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 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.PatchSet;
|
||||
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.GerritPersonIdent;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
@@ -116,7 +115,7 @@ public class ChangeEditModifier {
|
||||
}
|
||||
|
||||
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())) {
|
||||
Map<String, Ref> refs = repo.getRefDatabase().getRefs(refPrefix);
|
||||
@@ -126,7 +125,7 @@ public class ChangeEditModifier {
|
||||
|
||||
try (RevWalk rw = new RevWalk(repo)) {
|
||||
ObjectId revision = ObjectId.fromString(ps.getRevision().get());
|
||||
String editRefName = editRefName(me.getAccountId(), change.getId(),
|
||||
String editRefName = RefNames.refsEdit(me.getAccountId(), change.getId(),
|
||||
ps.getId());
|
||||
return update(repo, me, editRefName, rw, ObjectId.zeroId(), revision);
|
||||
}
|
||||
@@ -152,7 +151,7 @@ public class ChangeEditModifier {
|
||||
|
||||
Change change = edit.getChange();
|
||||
IdentifiedUser me = (IdentifiedUser) currentUser.get();
|
||||
String refName = editRefName(me.getAccountId(), change.getId(),
|
||||
String refName = RefNames.refsEdit(me.getAccountId(), change.getId(),
|
||||
current.getId());
|
||||
try (Repository repo = gitManager.openRepository(change.getProject());
|
||||
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.extensions.restapi.AuthException;
|
||||
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.Status;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
@@ -110,7 +109,7 @@ public class ChangeEditUtil {
|
||||
public Optional<ChangeEdit> byChange(Change change, IdentifiedUser user)
|
||||
throws IOException {
|
||||
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);
|
||||
if (refs.isEmpty()) {
|
||||
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,
|
||||
RevCommit edit, PatchSet basePatchSet)
|
||||
throws IOException, ResourceConflictException {
|
||||
|
@@ -2011,7 +2011,7 @@ public class ReceiveCommits {
|
||||
cmd = new ReceiveCommand(
|
||||
ObjectId.zeroId(),
|
||||
newCommit,
|
||||
ChangeEditUtil.editRefName(
|
||||
RefNames.refsEdit(
|
||||
currentUser.getAccountId(),
|
||||
change.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.Change;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.RefNames;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -28,7 +29,7 @@ public class ChangeEditTest {
|
||||
Account.Id accountId = new Account.Id(1000042);
|
||||
Change.Id changeId = new Change.Id(56414);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user