KetchSystem getSystem() { return leader.getSystem(); }
/** * Get system configuration. * * @return system configuration. */ public KetchSystem getSystem() { return getLeader().getSystem(); }
private List<ReceiveCommand> makeStageList(Repository git, ObjectInserter inserter) throws IOException { // For each branch, collapse consecutive updates to only most recent, // avoiding sending multiple objects in a rapid fast-forward chain, or // rewritten content. Map<String, ObjectId> byRef = new HashMap<>(); for (Proposal p : todo) { for (Command c : p.getCommands()) { Ref n = c.getNewRef(); if (n != null && !n.isSymbolic()) { byRef.put(n.getName(), n.getObjectId()); } } } if (byRef.isEmpty()) { return Collections.emptyList(); } Set<ObjectId> newObjs = new HashSet<>(byRef.values()); StageBuilder b = new StageBuilder( leader.getSystem().getTxnStage(), acceptedNewIndex); return b.makeStageList(newObjs, git, inserter); }
KetchSystem getSystem() { return leader.getSystem(); }
/** @return system configuration. */ public KetchSystem getSystem() { return getLeader().getSystem(); }
/** * Get system configuration. * * @return system configuration. */ public KetchSystem getSystem() { return getLeader().getSystem(); }
private ObjectId insertSingleProposal(Repository git, ProposedTimestamp ts, ObjectInserter inserter) throws IOException, NoOp { // Fast path: tree is passed in with all proposals applied. ObjectId treeId = queuedTree.writeTree(inserter); queuedTree = null; leader.roundHoldsReferenceToRefTree = false; if (!ObjectId.zeroId().equals(acceptedOldIndex)) { try (RevWalk rw = new RevWalk(git)) { RevCommit c = rw.parseCommit(acceptedOldIndex); if (treeId.equals(c.getTree())) { throw new NoOp(); } } } Proposal p = todo.get(0); CommitBuilder b = new CommitBuilder(); b.setTreeId(treeId); if (!ObjectId.zeroId().equals(acceptedOldIndex)) { b.setParentId(acceptedOldIndex); } b.setCommitter(leader.getSystem().newCommitter(ts)); b.setAuthor(p.getAuthor() != null ? p.getAuthor() : b.getCommitter()); b.setMessage(message(p)); return inserter.insert(b); }
PersonIdent committer = leader.getSystem().newCommitter(ts); for (Proposal p : todo) { if (!tree.apply(p.getCommands())) {
private List<ReceiveCommand> makeStageList(Repository git, ObjectInserter inserter) throws IOException { // For each branch, collapse consecutive updates to only most recent, // avoiding sending multiple objects in a rapid fast-forward chain, or // rewritten content. Map<String, ObjectId> byRef = new HashMap<>(); for (Proposal p : todo) { for (Command c : p.getCommands()) { Ref n = c.getNewRef(); if (n != null && !n.isSymbolic()) { byRef.put(n.getName(), n.getObjectId()); } } } if (byRef.isEmpty()) { return Collections.emptyList(); } Set<ObjectId> newObjs = new HashSet<>(byRef.values()); StageBuilder b = new StageBuilder( leader.getSystem().getTxnStage(), acceptedNewIndex); return b.makeStageList(newObjs, git, inserter); }
private List<ReceiveCommand> makeStageList(Repository git, ObjectInserter inserter) throws IOException { // For each branch, collapse consecutive updates to only most recent, // avoiding sending multiple objects in a rapid fast-forward chain, or // rewritten content. Map<String, ObjectId> byRef = new HashMap<>(); for (Proposal p : todo) { for (Command c : p.getCommands()) { Ref n = c.getNewRef(); if (n != null && !n.isSymbolic()) { byRef.put(n.getName(), n.getObjectId()); } } } if (byRef.isEmpty()) { return Collections.emptyList(); } Set<ObjectId> newObjs = new HashSet<>(byRef.values()); StageBuilder b = new StageBuilder( leader.getSystem().getTxnStage(), acceptedNewIndex); return b.makeStageList(newObjs, git, inserter); }
private ObjectId bumpTerm(Repository git, ObjectInserter inserter) throws IOException { CommitBuilder b = new CommitBuilder(); if (!ObjectId.zeroId().equals(acceptedOldIndex)) { try (RevWalk rw = new RevWalk(git)) { RevCommit c = rw.parseCommit(acceptedOldIndex); b.setTreeId(c.getTree()); b.setParentId(acceptedOldIndex); term = parseTerm(c.getFooterLines(TERM)) + 1; } } else { term = 1; b.setTreeId(inserter.insert(new TreeFormatter())); } StringBuilder msg = new StringBuilder(); msg.append(KetchConstants.TERM.getName()) .append(": ") //$NON-NLS-1$ .append(term); String tag = leader.getSystem().newLeaderTag(); if (tag != null && !tag.isEmpty()) { msg.append(' ').append(tag); } b.setAuthor(leader.getSystem().newCommitter()); b.setCommitter(b.getAuthor()); b.setMessage(msg.toString()); if (log.isDebugEnabled()) { log.debug("Trying to elect myself " + b.getMessage()); //$NON-NLS-1$ } return inserter.insert(b); }
private ObjectId insertSingleProposal(Repository git, ObjectInserter inserter) throws IOException, NoOp { // Fast path: tree is passed in with all proposals applied. ObjectId treeId = queuedTree.writeTree(inserter); queuedTree = null; leader.roundHoldsReferenceToRefTree = false; if (!ObjectId.zeroId().equals(acceptedOldIndex)) { try (RevWalk rw = new RevWalk(git)) { RevCommit c = rw.parseCommit(acceptedOldIndex); if (treeId.equals(c.getTree())) { throw new NoOp(); } } } Proposal p = todo.get(0); CommitBuilder b = new CommitBuilder(); b.setTreeId(treeId); if (!ObjectId.zeroId().equals(acceptedOldIndex)) { b.setParentId(acceptedOldIndex); } b.setCommitter(leader.getSystem().newCommitter()); b.setAuthor(p.getAuthor() != null ? p.getAuthor() : b.getCommitter()); b.setMessage(message(p)); return inserter.insert(b); }
private ObjectId insertSingleProposal(Repository git, ProposedTimestamp ts, ObjectInserter inserter) throws IOException, NoOp { // Fast path: tree is passed in with all proposals applied. ObjectId treeId = queuedTree.writeTree(inserter); queuedTree = null; leader.roundHoldsReferenceToRefTree = false; if (!ObjectId.zeroId().equals(acceptedOldIndex)) { try (RevWalk rw = new RevWalk(git)) { RevCommit c = rw.parseCommit(acceptedOldIndex); if (treeId.equals(c.getTree())) { throw new NoOp(); } } } Proposal p = todo.get(0); CommitBuilder b = new CommitBuilder(); b.setTreeId(treeId); if (!ObjectId.zeroId().equals(acceptedOldIndex)) { b.setParentId(acceptedOldIndex); } b.setCommitter(leader.getSystem().newCommitter(ts)); b.setAuthor(p.getAuthor() != null ? p.getAuthor() : b.getCommitter()); b.setMessage(message(p)); return inserter.insert(b); }
PersonIdent committer = leader.getSystem().newCommitter(ts); for (Proposal p : todo) { if (!tree.apply(p.getCommands())) {
PersonIdent committer = leader.getSystem().newCommitter(); for (Proposal p : todo) { if (!tree.apply(p.getCommands())) {