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

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

Introduction

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

Prototype

public Set<String> getModified() 

Source Link

Document

Get modified files relative to the index

Usage

From source file:com.barchart.jenkins.cascade.PluginScm.java

License:BSD License

/**
 * Commit into local./*ww w.j av  a  2s . com*/
 */
public static void scmCommit(final BuildContext<?> context, final MavenModuleSet project, final String pattern)
        throws IOException, InterruptedException {

    final String message = checkScm(project);

    if (message != null) {
        throw new IllegalStateException(message);
    }

    final GitSCM gitScm = (GitSCM) project.getScm();
    final FilePath workspace = workspace(context, project);

    /** Remote objects. */
    final BuildLogger logger = context.logger();
    final PersonIdent person = person(gitScm);

    /** Remote operation. */
    final FileCallable<Void> callable = new FileCallable<Void>() {

        private static final long serialVersionUID = 1L;

        public Void invoke(final File basedir, final VirtualChannel channel)
                throws IOException, InterruptedException {

            final Status status = PluginScmGit.doStatus(basedir);
            final Set<String> modifiedSet = status.getModified();
            // logger.logTab("modifiedSet: " + modifiedSet);

            if (!modifiedSet.contains(pattern)) {
                logger.logTab("no change: " + pattern);
                return null;
            }

            final DirCache addResult = PluginScmGit.doAdd(basedir, pattern);
            logger.logTab("added: " + pattern);

            final String commitMessage = "[cascade]" + " " + pattern;

            final RevCommit commitResult = PluginScmGit.doCommit(basedir, person, commitMessage);
            logger.logTab("commit: " + commitResult.name());

            return null;
        }
    };

    workspace.act(callable);

}

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 .j  a v a 2 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  w  w  . ja  va2 s.c  om
    }
}

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

License:Apache License

public GitDiffs getDiffs(String branch, String path) throws Exception {
    fetch();//from ww w.j  a v  a  2  s.  c om
    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 {//from w  w w  .  jav  a  2 s  .  co m
        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 .ja v a2 s.  c  o  m
            }
        }
        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  w  w w. j a v a 2s  .  co  m
        }
    }
    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.nlbhub.nlb.vcs.GitAdapter.java

License:Open Source License

private void initStatuses(boolean processExistentFiles) throws NLBVCSException {
    m_statuses.clear();/*from ww w  .java 2s  . 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);
    }
}

From source file:com.passgit.app.PassGit.java

License:Open Source License

public void commitRepository() {

    try (Git git = new Git(gitRepository)) {

        boolean propertiesUpdated = false;

        Status status = git.status().call();
        for (String filename : status.getUntracked()) {
            if (filename.equals(PROPERTIES_FILENAME)) {
                propertiesUpdated = true;
            }/*from   ww w  . j av  a2  s. c o  m*/
        }

        for (String filename : status.getModified()) {
            if (filename.equals(PROPERTIES_FILENAME)) {
                propertiesUpdated = true;
            }
        }

        if (propertiesUpdated) {
            int result = JOptionPane.showConfirmDialog(mainFrame,
                    "Repository properties changed, add to commit?");
            if (result == JOptionPane.OK_OPTION) {
                git.add().addFilepattern(PROPERTIES_FILENAME).call();
            } else if (result == JOptionPane.CANCEL_OPTION) {
                return;
            }

        }

        String message = JOptionPane.showInputDialog("Commit message");

        RevCommit commitResult = git.commit().setMessage(message).call();
    } catch (GitAPIException ex) {
        Logger.getLogger(PassGit.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:com.passgit.app.PassGit.java

License:Open Source License

private void processStatus(Status status, PathModel pathModel) {
    boolean untracked = false;

    for (String filename : status.getUntracked()) {
        File untrackedFile = new File(rootPath.toFile(), filename);
        if (untrackedFile.toPath().equals(pathModel.getPath())) {
            untracked = true;/*from  w w w  .j  a  v  a  2  s  .c  om*/
            if (!pathModel.isUntracked()) {
                pathModel.setUntracked(true);

                List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

                getPathModelTreeModel().fireChangedEvent(recursePath);
            }
        }
    }

    if (!untracked) {
        if (pathModel.isUntracked()) {
            pathModel.setUntracked(false);

            List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

            getPathModelTreeModel().fireChangedEvent(recursePath);
        }
    }

    boolean modified = false;

    for (String filename : status.getModified()) {
        File modifiedFile = new File(rootPath.toFile(), filename);
        if (modifiedFile.toPath().equals(pathModel.getPath())) {
            modified = true;
            if (!pathModel.isModified()) {
                pathModel.setModified(true);

                List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

                getPathModelTreeModel().fireChangedEvent(recursePath);
            }
        }
    }

    if (!modified) {
        if (pathModel.isModified()) {
            pathModel.setModified(false);

            List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

            getPathModelTreeModel().fireChangedEvent(recursePath);
        }
    }

    boolean added = false;

    for (String filename : status.getAdded()) {
        File addedFile = new File(rootPath.toFile(), filename);
        if (addedFile.toPath().equals(pathModel.getPath())) {
            added = true;
            if (!pathModel.isAdded()) {
                pathModel.setAdded(true);

                List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

                getPathModelTreeModel().fireChangedEvent(recursePath);
            }
        }
    }

    if (!added) {
        if (pathModel.isAdded()) {
            pathModel.setAdded(false);

            List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

            getPathModelTreeModel().fireChangedEvent(recursePath);
        }
    }

    boolean changed = false;

    for (String filename : status.getChanged()) {
        File changedFile = new File(rootPath.toFile(), filename);
        if (changedFile.toPath().equals(pathModel.getPath())) {
            changed = true;
            if (!pathModel.isChanged()) {
                pathModel.setChanged(true);

                List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

                getPathModelTreeModel().fireChangedEvent(recursePath);
            }
        }
    }

    if (!changed) {
        if (pathModel.isChanged()) {
            pathModel.setChanged(false);

            List<PathModel> recursePath = getRootPathModel().recursePath(pathModel.getPath());

            getPathModelTreeModel().fireChangedEvent(recursePath);
        }
    }

    for (int i = 0; i < pathModel.getChildCount(); i++) {
        processStatus(status, pathModel.getChild(i));
    }
}