Переглянути джерело

dfs: use RefDatabase API for exactRef in ReftableBatchRefUpdate

This removes one use of DFS specific code in this class.

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Change-Id: I3ef6a4b98357cc6dc480892244ddc51d2fd751a2
tags/v5.6.0.201911271000-m3
Han-Wen Nienhuys 4 роки тому
джерело
коміт
434e6c732a

+ 3
- 4
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/ReftableBatchRefUpdate.java Переглянути файл

@@ -141,8 +141,7 @@ public class ReftableBatchRefUpdate extends BatchRefUpdate {

lock.lock();
try {
Reftable table = refdb.reader();
if (!checkExpected(table, pending)) {
if (!checkExpected(pending)) {
return;
}
if (!checkConflicting(pending)) {
@@ -236,10 +235,10 @@ public class ReftableBatchRefUpdate extends BatchRefUpdate {
return ok;
}

private boolean checkExpected(Reftable table, List<ReceiveCommand> pending)
private boolean checkExpected(List<ReceiveCommand> pending)
throws IOException {
for (ReceiveCommand cmd : pending) {
if (!matchOld(cmd, table.exactRef(cmd.getRefName()))) {
if (!matchOld(cmd, refdb.exactRef(cmd.getRefName()))) {
cmd.setResult(LOCK_FAILURE);
if (isAtomic()) {
ReceiveCommand.abort(pending);

Завантаження…
Відмінити
Зберегти