Proposal proposal = new Proposal(rp.getRevWalk(), cmds) .setPushCertificate(rp.getPushCertificate()) .setAuthor(rp.getRefLogIdent()) .setMessage("push"); //$NON-NLS-1$ leader.queueProposal(proposal); if (proposal.isDone()) { if (proposal.getState() == QUEUED) { waitForQueue(proposal, spinner); if (!proposal.isDone()) { waitForPropose(proposal, spinner);
private void waitForPropose(Proposal proposal, ProgressSpinner spinner) throws InterruptedException { spinner.beginTask(KetchText.get().proposingUpdates, 2, SECONDS); while (!proposal.await(250, MILLISECONDS)) { spinner.update(); } spinner.endTask(proposal.getState() == EXECUTED ? KetchText.get().accepted : KetchText.get().failed); } }
lock.lockInterruptibly(); } catch (InterruptedException e) { proposal.abort(); throw e; initialize(); for (Proposal p : queued) { refTree.apply(p.getCommands()); if (!refTree.apply(proposal.getCommands())) { proposal.abort(); return; proposal.notifyState(QUEUED);
private void waitForQueue(Proposal proposal, ProgressSpinner spinner) throws InterruptedException { spinner.beginTask(KetchText.get().waitingForQueue, 1, SECONDS); while (!proposal.awaitStateChange(QUEUED, 250, MILLISECONDS)) { spinner.update(); } switch (proposal.getState()) { case RUNNING: default: spinner.endTask(KetchText.get().starting); break; case EXECUTED: spinner.endTask(KetchText.get().accepted); break; case ABORTED: spinner.endTask(KetchText.get().failed); break; } }
private void waitForPropose(final Proposal proposal) throws InterruptedException { while (!proposal.await(250, MILLISECONDS)) { System.out.println("waiting propose..."); } }
void abort() { for (Proposal p : todo) { p.abort(); } }
/** * Create a proposal from a collection of received commands. * * @param rw * walker to assist in preparing commands. * @param cmds * list of pending commands. * @throws org.eclipse.jgit.errors.MissingObjectException * newId of a command is not found locally. * @throws java.io.IOException * local objects cannot be accessed. */ public Proposal(RevWalk rw, Collection<ReceiveCommand> cmds) throws MissingObjectException, IOException { commands = asCommandList(rw, cmds); }
/** {@inheritDoc} */ @Override public String toString() { StringBuilder s = new StringBuilder(); s.append("Ketch Proposal {\n"); //$NON-NLS-1$ s.append(" ").append(state.get()).append('\n'); //$NON-NLS-1$ if (author != null) { s.append(" author ").append(author).append('\n'); //$NON-NLS-1$ } if (message != null) { s.append(" message ").append(message).append('\n'); //$NON-NLS-1$ } for (Command c : commands) { s.append(" "); //$NON-NLS-1$ format(s, c.getOldRef(), "CREATE"); //$NON-NLS-1$ s.append(' '); format(s, c.getNewRef(), "DELETE"); //$NON-NLS-1$ s.append(' ').append(c.getRefName()); if (c.getResult() != ReceiveCommand.Result.NOT_ATTEMPTED) { s.append(' ').append(c.getResult()); // $NON-NLS-1$ } s.append('\n'); } s.append('}'); return s.toString(); }
private void waitForQueue(final Proposal proposal) throws InterruptedException { while (!proposal.awaitStateChange(QUEUED, 250, MILLISECONDS)) { System.out.println("waiting queue..."); } switch (proposal.getState()) { case RUNNING: default: break; case EXECUTED: break; case ABORTED: break; } }
void abort() { for (Proposal p : todo) { p.abort(); } }
/** * Create a proposal from a collection of received commands. * * @param rw * walker to assist in preparing commands. * @param cmds * list of pending commands. * @throws MissingObjectException * newId of a command is not found locally. * @throws IOException * local objects cannot be accessed. */ public Proposal(RevWalk rw, Collection<ReceiveCommand> cmds) throws MissingObjectException, IOException { commands = asCommandList(rw, cmds); }
@Override public String toString() { StringBuilder s = new StringBuilder(); s.append("Ketch Proposal {\n"); //$NON-NLS-1$ s.append(" ").append(state.get()).append('\n'); //$NON-NLS-1$ if (author != null) { s.append(" author ").append(author).append('\n'); //$NON-NLS-1$ } if (message != null) { s.append(" message ").append(message).append('\n'); //$NON-NLS-1$ } for (Command c : commands) { s.append(" "); //$NON-NLS-1$ format(s, c.getOldRef(), "CREATE"); //$NON-NLS-1$ s.append(' '); format(s, c.getNewRef(), "DELETE"); //$NON-NLS-1$ s.append(' ').append(c.getRefName()); if (c.getResult() != ReceiveCommand.Result.NOT_ATTEMPTED) { s.append(' ').append(c.getResult()); // $NON-NLS-1$ } s.append('\n'); } s.append('}'); return s.toString(); }
private void proposeKetch(final List<Command> n, final RevCommit _commit) throws IOException, InterruptedException { final Proposal proposal = new Proposal(n) .setAuthor(_commit.getAuthorIdent()) .setMessage("push"); git.getKetchLeader().queueProposal(proposal); if (proposal.isDone()) { // This failed fast, e.g. conflict or bad precondition. throw new GitException("Error"); } if (proposal.getState() == QUEUED) { waitForQueue(proposal); } if (!proposal.isDone()) { waitForPropose(proposal); } }
private void waitForQueue(Proposal proposal, ProgressSpinner spinner) throws InterruptedException { spinner.beginTask(KetchText.get().waitingForQueue, 1, SECONDS); while (!proposal.awaitStateChange(QUEUED, 250, MILLISECONDS)) { spinner.update(); } switch (proposal.getState()) { case RUNNING: default: spinner.endTask(KetchText.get().starting); break; case EXECUTED: spinner.endTask(KetchText.get().accepted); break; case ABORTED: spinner.endTask(KetchText.get().failed); break; } }
lock.lockInterruptibly(); } catch (InterruptedException e) { proposal.abort(); throw e; initialize(); for (Proposal p : queued) { refTree.apply(p.getCommands()); if (!refTree.apply(proposal.getCommands())) { proposal.abort(); return; proposal.notifyState(QUEUED);
private void waitForPropose(Proposal proposal, ProgressSpinner spinner) throws InterruptedException { spinner.beginTask(KetchText.get().proposingUpdates, 2, SECONDS); while (!proposal.await(250, MILLISECONDS)) { spinner.update(); } spinner.endTask(proposal.getState() == EXECUTED ? KetchText.get().accepted : KetchText.get().failed); } }
void abort() { for (Proposal p : todo) { p.abort(); } }
/** * Create a proposal from a collection of received commands. * * @param rw * walker to assist in preparing commands. * @param cmds * list of pending commands. * @throws org.eclipse.jgit.errors.MissingObjectException * newId of a command is not found locally. * @throws java.io.IOException * local objects cannot be accessed. */ public Proposal(RevWalk rw, Collection<ReceiveCommand> cmds) throws MissingObjectException, IOException { commands = asCommandList(rw, cmds); }
/** {@inheritDoc} */ @Override public String toString() { StringBuilder s = new StringBuilder(); s.append("Ketch Proposal {\n"); //$NON-NLS-1$ s.append(" ").append(state.get()).append('\n'); //$NON-NLS-1$ if (author != null) { s.append(" author ").append(author).append('\n'); //$NON-NLS-1$ } if (message != null) { s.append(" message ").append(message).append('\n'); //$NON-NLS-1$ } for (Command c : commands) { s.append(" "); //$NON-NLS-1$ format(s, c.getOldRef(), "CREATE"); //$NON-NLS-1$ s.append(' '); format(s, c.getNewRef(), "DELETE"); //$NON-NLS-1$ s.append(' ').append(c.getRefName()); if (c.getResult() != ReceiveCommand.Result.NOT_ATTEMPTED) { s.append(' ').append(c.getResult()); // $NON-NLS-1$ } s.append('\n'); } s.append('}'); return s.toString(); }
Proposal proposal = new Proposal(rp.getRevWalk(), cmds) .setPushCertificate(rp.getPushCertificate()) .setAuthor(rp.getRefLogIdent()) .setMessage("push"); //$NON-NLS-1$ leader.queueProposal(proposal); if (proposal.isDone()) { if (proposal.getState() == QUEUED) { waitForQueue(proposal, spinner); if (!proposal.isDone()) { waitForPropose(proposal, spinner);