Package com.aragost.javahg

Examples of com.aragost.javahg.Repository


        }
        return this.source;
    }

    public Changeset commit() {
        Repository repo = getRepository();
        if (this.rollbackChangeset == null) {
            repo.lock();
            try {
                boolean createdNewChangeset = ((GraftCommand) getCommand()).executeContinue();
                return createdNewChangeset ? repo.tip() : null;
            } finally {
                repo.unlock();
            }
        } else {
            CommitCommand cmd = CommitCommand.on(repo);
            cmd.user(this.rollbackChangeset.getUser());
            cmd.date(this.rollbackChangeset.getTimestamp());
View Full Code Here


    /**
     *
     * @return all bookmarks
     */
    public List<Bookmark> list() {
        Repository repo = getRepository();
        HgInputStream stream = launchStream();
        try {
            if (stream.match(NO_BOOKMARKS)) {
                stream.consumeAll();
                return Collections.emptyList();
            }
            List<Bookmark> result = Lists.newArrayList();
            while (stream.peek() != -1) {
                stream.mustMatch(' ');
                boolean active = stream.read() == '*';
                stream.mustMatch(' ');
                String name = stream.textUpTo(' ');
                stream.upTo(':');
                String node = stream.textUpTo('\n');
                Bookmark bookmark = new Bookmark(repo.changeset(node), name, active);
                result.add(bookmark);
            }
            return result;
        } catch (IOException e) {
            throw new RuntimeIOException(e);
View Full Code Here

        super(repository);
    }

    public List<File> execute() {
        List<File> result = Lists.newArrayList();
        Repository repo = getRepository();
        for (String line : launchIterator()) {
            result.add(repo.file(line));
        }
        return result;
    }
View Full Code Here

     * @param file
     * @return list of annotated lines.
     * @throws IOException
     */
    public List<AnnotateLine> execute(String file) throws IOException {
        Repository repo = getRepository();
        List<Integer> revisions = Lists.newArrayList();
        List<String> lines = Lists.newArrayList();
        HgInputStream stream = launchStream(file);
        while (stream.peek() != -1) {
            revisions.add(stream.revisionUpTo(':'));
View Full Code Here

        super(repository);
    }

    public List<File> execute(String... patterns) {
        List<File> result = Lists.newArrayList();
        Repository repo = getRepository();
        for (String line : launchIterator(patterns)) {
            result.add(repo.file(line));
        }
        return result;
    }
View Full Code Here

     *
     * @return map mapping tag name to changeset
     */
    public List<Tag> execute() {
        List<Tag> result = Lists.newArrayList();
        Repository repository = getRepository();
        for (Iterator<String> iter = launchIterator(); iter.hasNext();) {
            String line = iter.next();
            Tag tag = fromLine(repository, line);
            if (includeTip || !tag.getName().equals("tip")) {
                result.add(tag);
View Full Code Here

     *
     * @return map mapping changeset to tags at that node.
     */
    public Map<Changeset, List<Tag>> executeReverse() {
        Map<Changeset, List<Tag>> result = Maps.newHashMap();
        Repository repository = getRepository();
        for (Iterator<String> iter = launchIterator(); iter.hasNext();) {
            Tag tag = fromLine(repository, iter.next());

            if (includeTip || !tag.getName().equals("tip")) {
                Changeset changeset = tag.getChangeset();
View Full Code Here

     *
     * @param changeset
     *            the changeset to graft
     */
    public GraftContext execute(Changeset changeset) {
        Repository repo = getRepository();
        repo.lock();
        HgInputStream stream = launchStream(changeset.getNode());
        try {
            if (stream.match("grafting revision ".getBytes())) {
                int rev = stream.revisionUpTo('\n');
                GraftContext ctx = new GraftContext(this, rev);
                if (!stream.isEof()) {
                    ctx.processStream(stream, true);
                }
                stream.consumeAll();
                boolean flagOrKeepDeleteConflicts = !ctx.getFlagConflicts().isEmpty()
                        || !ctx.getKeepDeleteConflicts().isEmpty();
                if (getReturnCode() == -1 && this.hasConflicts || flagOrKeepDeleteConflicts) {
                    if (flagOrKeepDeleteConflicts && ctx.getMergeConflicts().isEmpty()) {
                        // graft has actually made a new changeset,
                        // but
                        // there is actually flag conflict or
                        // keep/delete
                        // conflict. So rollback the changeset.
                        Changeset rollbackChangeset = repo.tip();
                        if (!changeset.getNode().equals(rollbackChangeset.getExtra().getString("source"))) {
                            throw new IllegalStateException("Current tip is not grafted from expected changeset");
                        }
                        RollbackCommand.on(repo).execute();
                        ctx.setRollbackChangeset(rollbackChangeset);
                    }
                    return ctx;
                } else {
                    return null;
                }
            } else {
                return null;
            }
        } catch (IOException e) {
            throw new RuntimeIOException(e);
        } finally {
            repo.unlock();
        }
    }
View Full Code Here

    public PhaseLogCommand(Repository repository) {
        super(repository, "{node} {phase}\0");
    }

    public Map<Changeset, Phase> execute() {
        Repository repo = getRepository();
        Map<Changeset, Phase> result = Maps.newHashMap();
        HgInputStream stream = launchStream();
        try {
            while (!stream.isEof()) {
                String node = stream.textUpTo(' ');
                String phaseName = stream.textUpTo(0);
                Phase phase = Phase.fromText(phaseName);
                result.put(repo.changeset(node), phase);
            }
        } catch (IOException e) {
            throw new RuntimeIOException(e);
        }
        return result;
View Full Code Here

     * @param file
     * @return list of annotated lines.
     * @throws IOException
     */
    public List<AnnotateLine> execute(String file) throws IOException {
        Repository repo = getRepository();
        HgInputStream stream = launchStream(file);
        LogCommand logCmd = LogCommand.on(repo);
        Map<Integer, String> dataMap = Maps.newHashMap();
        List<AnnotateLine> result = Lists.newArrayList();
        while (stream.peek() != -1) {
View Full Code Here

TOP

Related Classes of com.aragost.javahg.Repository

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.