Class GitUtils


  • public class GitUtils
    extends Object
    The Git and refactoring mechanism integration utility methods.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addFilesToGitIndex​(org.eclipse.core.resources.IProject project, Collection<org.eclipse.core.runtime.IPath> oldAbsolutePaths, Collection<org.eclipse.core.runtime.IPath> newAbsolutePaths, boolean cached)
      Adds the files associated with the given new and old absolute paths to the Git index.
      static org.eclipse.jgit.lib.Repository getGitRepository​(org.eclipse.core.resources.IResource resource)
      Determines the Git repository containing the given resource.
      static org.eclipse.jgit.lib.Repository getGitRepository​(org.eclipse.core.runtime.IPath path)
      Determines the Git repository containing the given IPath.
      static void runGitAddCommand​(org.eclipse.core.resources.IProject project, Collection<org.eclipse.core.runtime.IPath> absolutePaths)
      Runs Git add command for the files associated with the given absolute paths if the given project in the Git repository.
      static void runGitAddCommand​(org.eclipse.jgit.lib.Repository repository, Collection<org.eclipse.core.runtime.IPath> absolutePaths)
      Runs Git add command for the given repository and files associated with the given absolute paths.
      static void runGitRmCommand​(org.eclipse.core.resources.IProject project, Collection<org.eclipse.core.runtime.IPath> absolutePaths, boolean cached)
      Runs Git rm command for the files associated with the given absolute paths if the given project in the Git repository.
      static void runGitRmCommand​(org.eclipse.jgit.lib.Repository repository, Collection<org.eclipse.core.runtime.IPath> absolutePaths, boolean cached)
      Runs Git rm command for the given repository and files associated with the given absolute paths.
    • Method Detail

      • getGitRepository

        public static org.eclipse.jgit.lib.Repository getGitRepository​(org.eclipse.core.resources.IResource resource)
        Determines the Git repository containing the given resource. Should not close the repository after work with it was finished.
        Parameters:
        resource - the resource to get the Git repository for, cannot be null
        Returns:
        the associated with the given resource Git repository or null if no repository associates with the given resource
      • getGitRepository

        public static org.eclipse.jgit.lib.Repository getGitRepository​(org.eclipse.core.runtime.IPath path)
        Determines the Git repository containing the given IPath. Should not close the repository after work with it was finished.
        Parameters:
        path - the path to get the Git repository for, cannot be null
        Returns:
        the associated with the given path Git repository or null if no repository associates with the given path
      • runGitAddCommand

        public static void runGitAddCommand​(org.eclipse.jgit.lib.Repository repository,
                                            Collection<org.eclipse.core.runtime.IPath> absolutePaths)
                                     throws org.eclipse.core.runtime.CoreException
        Runs Git add command for the given repository and files associated with the given absolute paths.
        Parameters:
        repository - the given Git repository, can not be null
        absolutePaths - the given absolute paths to files, can not be null
        Throws:
        org.eclipse.core.runtime.CoreException - if an error occurred while calling Git add command
      • runGitAddCommand

        public static void runGitAddCommand​(org.eclipse.core.resources.IProject project,
                                            Collection<org.eclipse.core.runtime.IPath> absolutePaths)
                                     throws org.eclipse.core.runtime.CoreException
        Runs Git add command for the files associated with the given absolute paths if the given project in the Git repository.
        Parameters:
        project - the project the target files from, can not be null
        absolutePaths - the given absolute paths to files, can not be null
        Throws:
        org.eclipse.core.runtime.CoreException - if an error occurred while finding Git repo or calling Git add command
      • runGitRmCommand

        public static void runGitRmCommand​(org.eclipse.jgit.lib.Repository repository,
                                           Collection<org.eclipse.core.runtime.IPath> absolutePaths,
                                           boolean cached)
                                    throws org.eclipse.core.runtime.CoreException
        Runs Git rm command for the given repository and files associated with the given absolute paths.
        Parameters:
        repository - the given Git repository, can not be null
        absolutePaths - the given absolute paths to files, can not be null
        cached - true if files should only be removed from index, false if files should also be deleted from the working directory
        Throws:
        org.eclipse.core.runtime.CoreException - if an error occurred while calling Git rm command
      • runGitRmCommand

        public static void runGitRmCommand​(org.eclipse.core.resources.IProject project,
                                           Collection<org.eclipse.core.runtime.IPath> absolutePaths,
                                           boolean cached)
                                    throws org.eclipse.core.runtime.CoreException
        Runs Git rm command for the files associated with the given absolute paths if the given project in the Git repository.
        Parameters:
        project - the project the target files from, can not be null
        absolutePaths - the given absolute paths to files, can not be null
        cached - true if files should only be removed from index, false if files should also be deleted from the working directory
        Throws:
        org.eclipse.core.runtime.CoreException - if an error occurred while finding Git repo or calling Git rm command
      • addFilesToGitIndex

        public static void addFilesToGitIndex​(org.eclipse.core.resources.IProject project,
                                              Collection<org.eclipse.core.runtime.IPath> oldAbsolutePaths,
                                              Collection<org.eclipse.core.runtime.IPath> newAbsolutePaths,
                                              boolean cached)
                                       throws org.eclipse.core.runtime.CoreException
        Adds the files associated with the given new and old absolute paths to the Git index. Runs Git add command for the new paths and Git rm command for the old paths.
        It is important that the collection of old and new paths are not intersecting.
        Parameters:
        project - the project the target files from, can not be null
        oldAbsolutePaths - the old absolute paths, can not be null
        newAbsolutePaths - the new absolute paths, can not be null
        cached - true if old files should only be removed from index, false if old files should also be deleted from the working directory
        Throws:
        org.eclipse.core.runtime.CoreException - if an error occurred while finding Git repo or adding files to index