Example usage for org.eclipse.jgit.api Status getMissing

List of usage examples for org.eclipse.jgit.api Status getMissing

Introduction

In this page you can find the example usage for org.eclipse.jgit.api Status getMissing.

Prototype

public Set<String> getMissing() 

Source Link

Document

Get missing files

Usage

From source file:bluej.groupwork.git.GitStatusCommand.java

License:Open Source License

@Override
public TeamworkCommandResult getResult() {
    LinkedList<TeamStatusInfo> returnInfo = new LinkedList<>();

    try (Git repo = Git.open(this.getRepository().getProjectPath().getParentFile())) {
        Status s = repo.status().call();

        File gitPath = new File(this.getRepository().getProjectPath().getParent());
        s.getMissing().stream().map((item) -> new TeamStatusInfo(new File(gitPath, item), "", null,
                TeamStatusInfo.STATUS_NEEDSCHECKOUT)).forEach((teamInfo) -> {
                    returnInfo.add(teamInfo);
                });/*from  w  w w.ja  v  a 2 s  . co  m*/

        s.getUncommittedChanges().stream().map((item) -> new TeamStatusInfo(new File(gitPath, item), "", null,
                TeamStatusInfo.STATUS_NEEDSCOMMIT)).forEach((teamInfo) -> {
                    returnInfo.add(teamInfo);
                });

        s.getConflicting().stream().map((item) -> new TeamStatusInfo(new File(gitPath, item), "", null,
                TeamStatusInfo.STATUS_NEEDSMERGE)).forEach((teamInfo) -> {
                    returnInfo.add(teamInfo);
                });

        s.getUntracked().stream().map(
                (item) -> new TeamStatusInfo(new File(gitPath, item), "", null, TeamStatusInfo.STATUS_NEEDSADD))
                .forEach((teamInfo) -> {
                    returnInfo.add(teamInfo);
                });

        s.getUntrackedFolders().stream().map(
                (item) -> new TeamStatusInfo(new File(gitPath, item), "", null, TeamStatusInfo.STATUS_NEEDSADD))
                .forEach((teamInfo) -> {
                    returnInfo.add(teamInfo);
                });

        s.getRemoved().stream().map(
                (item) -> new TeamStatusInfo(new File(gitPath, item), "", null, TeamStatusInfo.STATUS_REMOVED))
                .forEach((teamInfo) -> {
                    returnInfo.add(teamInfo);
                });

    } catch (IOException | GitAPIException | NoWorkTreeException ex) {
        Logger.getLogger(GitStatusCommand.class.getName()).log(Level.SEVERE, null, ex);
    }
    if (listener != null) {
        while (!returnInfo.isEmpty()) {
            TeamStatusInfo teamInfo = (TeamStatusInfo) returnInfo.removeFirst();
            listener.gotStatus(teamInfo);
        }
        listener.statusComplete(new GitStatusHandle(getRepository()));
    }
    return new TeamworkCommandResult();
}

From source file:ch.sbb.releasetrain.git.GitRepoImpl.java

License:Apache License

@Override
public void addCommitPush() {
    try {//from  w  w w . j  a  va2 s  .c om
        Git git = gitOpen();

        git.add().addFilepattern(".").call();

        // status
        Status status = git.status().call();

        // rm the deleted ones
        if (status.getMissing().size() > 0) {
            for (String rm : status.getMissing()) {
                git.rm().addFilepattern(rm).call();
            }
        }

        // commit and push if needed
        if (!status.hasUncommittedChanges()) {
            log.debug("not commiting git, because there are no changes");
            return;
        }

        git.commit().setMessage("Automatic commit by releasetrain").call();
        git.push().setCredentialsProvider(credentialsProvider()).call();
    } catch (Exception e) {
        throw new GitException(e.getMessage(), e);
    }
}

From source file:com.buildautomation.jgit.api.ListUncommittedChanges.java

License:Apache License

public static void listUncommittedChanges() throws IOException, GitAPIException {
    try (Repository repository = CookbookHelper.openJGitCookbookRepository()) {
        System.out.println("Listing uncommitted changes:");
        try (Git git = new Git(repository)) {
            Status status = git.status().call();
            Set<String> conflicting = status.getConflicting();
            for (String conflict : conflicting) {
                System.out.println("Conflicting: " + conflict);
            }// w  w  w  .ja  v  a2 s  .  c  o m

            Set<String> added = status.getAdded();
            for (String add : added) {
                System.out.println("Added: " + add);
            }

            Set<String> changed = status.getChanged();
            for (String change : changed) {
                System.out.println("Change: " + change);
            }

            Set<String> missing = status.getMissing();
            for (String miss : missing) {
                System.out.println("Missing: " + miss);
            }

            Set<String> modified = status.getModified();
            for (String modify : modified) {
                System.out.println("Modification: " + modify);
            }

            Set<String> removed = status.getRemoved();
            for (String remove : removed) {
                System.out.println("Removed: " + remove);
            }

            Set<String> uncommittedChanges = status.getUncommittedChanges();
            for (String uncommitted : uncommittedChanges) {
                System.out.println("Uncommitted: " + uncommitted);
            }

            Set<String> untracked = status.getUntracked();
            for (String untrack : untracked) {
                System.out.println("Untracked: " + untrack);
            }

            Set<String> untrackedFolders = status.getUntrackedFolders();
            for (String untrack : untrackedFolders) {
                System.out.println("Untracked Folder: " + untrack);
            }

            Map<String, StageState> conflictingStageState = status.getConflictingStageState();
            for (Map.Entry<String, StageState> entry : conflictingStageState.entrySet()) {
                System.out.println("ConflictingState: " + entry);
            }
        }
    }
}

From source file:com.buildautomation.jgit.api.ShowStatus.java

License:Apache License

public static void showStatus() throws IOException, GitAPIException {
    try (Repository repository = CookbookHelper.openJGitCookbookRepository()) {
        try (Git git = new Git(repository)) {
            Status status = git.status().call();
            System.out.println("Added: " + status.getAdded());
            System.out.println("Changed: " + status.getChanged());
            System.out.println("Conflicting: " + status.getConflicting());
            System.out.println("ConflictingStageState: " + status.getConflictingStageState());
            System.out.println("IgnoredNotInIndex: " + status.getIgnoredNotInIndex());
            System.out.println("Missing: " + status.getMissing());
            System.out.println("Modified: " + status.getModified());
            System.out.println("Removed: " + status.getRemoved());
            System.out.println("Untracked: " + status.getUntracked());
            System.out.println("UntrackedFolders: " + status.getUntrackedFolders());
        }/*from w ww .  j  a  v a 2 s.  c o  m*/
    }
}

From source file:com.centurylink.mdw.dataaccess.file.VersionControlGit.java

License:Apache License

public GitDiffs getDiffs(String branch, String path) throws Exception {
    fetch();//  ww  w .j  a va2 s  . c o m
    GitDiffs diffs = new GitDiffs();
    ObjectId remoteHead = localRepo.resolve("origin/" + branch + "^{tree}");
    if (remoteHead == null)
        throw new IOException("Unable to determine Git Diffs due to missing remote HEAD");
    CanonicalTreeParser newTreeIter = new CanonicalTreeParser();
    newTreeIter.reset(localRepo.newObjectReader(), remoteHead);
    DiffCommand dc = git.diff().setNewTree(newTreeIter);
    if (path != null)
        dc.setPathFilter(PathFilter.create(path));
    dc.setShowNameAndStatusOnly(true);
    for (DiffEntry diff : dc.call()) {
        if (diff.getChangeType() == ChangeType.ADD || diff.getChangeType() == ChangeType.COPY) {
            diffs.add(DiffType.MISSING, diff.getNewPath());
        } else if (diff.getChangeType() == ChangeType.MODIFY) {
            diffs.add(DiffType.DIFFERENT, diff.getNewPath());
        } else if (diff.getChangeType() == ChangeType.DELETE) {
            diffs.add(DiffType.EXTRA, diff.getOldPath());
        } else if (diff.getChangeType() == ChangeType.RENAME) {
            diffs.add(DiffType.MISSING, diff.getNewPath());
            diffs.add(DiffType.EXTRA, diff.getOldPath());
        }
    }
    // we're purposely omitting folders
    Status status = git.status().addPath(path).call();
    for (String untracked : status.getUntracked()) {
        if (!untracked.startsWith(path + "/Archive/"))
            diffs.add(DiffType.EXTRA, untracked);
    }
    for (String added : status.getAdded()) {
        diffs.add(DiffType.EXTRA, added);
    }
    for (String missing : status.getMissing()) {
        diffs.add(DiffType.MISSING, missing);
    }
    for (String removed : status.getRemoved()) {
        diffs.add(DiffType.MISSING, removed);
    }
    for (String changed : status.getChanged()) {
        diffs.add(DiffType.DIFFERENT, changed);
    }
    for (String modified : status.getModified()) {
        diffs.add(DiffType.DIFFERENT, modified);
    }
    for (String conflict : status.getConflicting()) {
        diffs.add(DiffType.DIFFERENT, conflict);
    }
    return diffs;
}

From source file:com.chungkwong.jgitgui.GitTreeItem.java

License:Open Source License

@Override
public Node getContentPage() {
    GridPane node = new GridPane();
    try {/*w w w.  j a  va2  s. c  om*/
        Status status = ((Git) getValue()).status().call();
        Set<String> untrackedSet = new HashSet<>(status.getUntrackedFolders());
        untrackedSet.addAll(status.getUntracked());
        untrackedSet.removeAll(status.getIgnoredNotInIndex());
        TitledPane untracked = createList(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("UNTRACKED FILE"),
                untrackedSet);
        TitledPane missing = createList(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("MISSING"),
                status.getMissing());
        TitledPane modified = createList(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("MODIFIED"),
                status.getModified());
        TitledPane added = createList(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("ADDED"),
                status.getAdded());
        TitledPane removed = createList(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("REMOVED"),
                status.getRemoved());
        TitledPane changed = createList(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("CHANGED"),
                status.getChanged());
        Button add = new Button(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("ADD"));
        add.setOnAction((e) -> gitAdd(untracked, modified, added, changed));
        Button commit = new Button(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("COMMIT"));
        commit.setOnAction((e) -> gitCommit(added, removed, changed));
        Button clean = new Button(
                java.util.ResourceBundle.getBundle("com/chungkwong/jgitgui/text").getString("CLEAN"));
        clean.setOnAction((e) -> gitClean(untracked));
        node.addColumn(0, untracked, missing, modified, add);
        node.addColumn(1, added, removed, changed, commit, clean);
    } catch (Exception ex) {
        Logger.getLogger(GitTreeItem.class.getName()).log(Level.SEVERE, null, ex);
        Util.informUser(ex);
    }
    return node;
}

From source file:com.docmd.behavior.GitManager.java

public void gitStatus(JTextArea console) throws GitAPIException {
    Status status = git.status().call();
    console.append("\n\n$git status");
    boolean flag = false;
    if ((!(status.getAdded().isEmpty())) || (!(status.getChanged().isEmpty()))
            || (!(status.getRemoved().isEmpty()))) {
        console.append("\n\n>>> STAGED CHANGES:");
        if (!(status.getAdded().isEmpty())) {
            console.append("\n\n> Added:");
            for (String s : status.getAdded()) {
                console.append("\n" + s);
                flag = true;//from www  .j av  a2 s  .  c om
            }
        }
        if (!(status.getChanged().isEmpty())) {
            console.append("\n\n> Changed:");
            for (String s : status.getChanged()) {
                console.append("\n" + s);
                flag = true;
            }
        }
        if (!(status.getRemoved().isEmpty())) {
            console.append("\n\n> Removed:");
            for (String s : status.getRemoved()) {
                console.append("\n" + s);
                flag = true;
            }
        }
    }
    if (!(status.getConflicting().isEmpty())) {
        console.append("\n\n> Conflicting:");
        for (String s : status.getConflicting()) {
            console.append("\n" + s);
            flag = true;
        }
    }
    if (!(status.getIgnoredNotInIndex().isEmpty())) {
        console.append("\n\n> IgnoredNotInIndex:");
        for (String s : status.getIgnoredNotInIndex()) {
            console.append("\n" + s);
            flag = true;
        }
    }
    if ((!(status.getModified().isEmpty())) || (!(status.getMissing().isEmpty()))
            || (!(status.getUntracked().isEmpty())) || (!(status.getUntrackedFolders().isEmpty()))) {
        console.append("\n\n>>> UNSTAGED CHANGES:");
        if (!(status.getModified().isEmpty())) {
            console.append("\n\n> Modified:");
            for (String s : status.getModified()) {
                console.append("\n" + s);
                flag = true;
            }
        }
        if (!(status.getMissing().isEmpty())) {
            console.append("\n\n> Deleted:");
            for (String s : status.getMissing()) {
                console.append("\n" + s);
                flag = true;
            }
        }
        if (!(status.getUntracked().isEmpty())) {
            console.append("\n\n> Untracked:");
            for (String s : status.getUntracked()) {
                console.append("\n" + s);
                flag = true;
            }
        }
        if (!(status.getUntrackedFolders().isEmpty())) {
            console.append("\n\n> UntrackedFolders:");
            for (String s : status.getUntrackedFolders()) {
                console.append("\n" + s);
                flag = true;
            }
        }
    }
    if (!flag) {
        console.append("\nNo changes.");
    }
}

From source file:com.docmd.behavior.GitManager.java

public String[] getChanges() throws GitAPIException {
    ArrayList<String> al = new ArrayList<String>();
    Status status = git.status().call();
    if (!(status.getModified().isEmpty())) {
        for (String s : status.getModified()) {
            al.add(s);/*from  ww  w .  java2s. com*/
        }
    }
    if (!(status.getMissing().isEmpty())) {
        for (String s : status.getMissing()) {
            al.add("[RMV]" + s);
        }
    }
    if (!(status.getUntracked().isEmpty())) {
        for (String s : status.getUntracked()) {
            al.add(s);
        }
    }
    if (!(status.getUntrackedFolders().isEmpty())) {
        for (String s : status.getUntrackedFolders()) {
            al.add(s);
        }
    }
    String changes[] = new String[al.size()];
    for (int i = 0; i < changes.length; i++)
        changes[i] = al.get(i);
    return changes;
}

From source file:com.github.checkstyle.regression.internal.GitUtils.java

License:Open Source License

public static void addAllAndCommit(Repository repository, String message) throws GitAPIException {
    try (Git git = new Git(repository)) {
        // In JGit, the "add ." could not add the deleted files into staging area.
        // To obtain the same behavior as git CLI command "git add .", we have to
        // use RmCommand to handle deleted files.
        final Status status = git.status().call();
        if (!status.getMissing().isEmpty() || !status.getRemoved().isEmpty()) {
            final RmCommand rm = git.rm().setCached(true);
            Iterables.concat(status.getMissing(), status.getRemoved()).forEach(rm::addFilepattern);
            rm.call();/*from w  ww.  jav  a2 s. co  m*/
        }
        git.add().addFilepattern(".").call();
        git.commit().setMessage(message).call();
    }
}

From source file:com.nlbhub.nlb.vcs.GitAdapter.java

License:Open Source License

private void initStatuses(boolean processExistentFiles) throws NLBVCSException {
    m_statuses.clear();/*from ww  w.  j  a va2  s  .c o m*/
    try {
        if (processExistentFiles) {
            List<String> filePaths = listRepositoryContents();
            for (final String filePath : filePaths) {
                // Initially mark all repository files as clean
                // (i.e. under version control & without changes)
                m_statuses.put(filePath, Status.Clean);
            }
        }
        org.eclipse.jgit.api.Status status = m_git.status().call();
        putItemsStatus(status.getAdded(), Status.Added);
        putItemsStatus(status.getChanged(), Status.Modified); // ???
        putItemsStatus(status.getModified(), Status.Modified);
        putItemsStatus(status.getConflicting(), Status.Conflict);
        //System.out.println("ConflictingStageState: " + status.getConflictingStageState());
        putItemsStatus(status.getIgnoredNotInIndex(), Status.Ignored);
        putItemsStatus(status.getMissing(), Status.Missing);
        putItemsStatus(status.getRemoved(), Status.Removed);
        putItemsStatus(status.getUntracked(), Status.Unknown);
        putItemsStatus(status.getUntrackedFolders(), Status.Unknown);
    } catch (IOException | GitAPIException e) {
        throw new NLBVCSException("Error while obtaining Git repository status", e);
    }
}