Class GarbageCollectCommand

  • All Implemented Interfaces:
    java.util.concurrent.Callable<java.util.Properties>

    public class GarbageCollectCommand
    extends GitCommand<java.util.Properties>
    A class used to execute a gc command. It has setters for all supported options and arguments of this command and a call() method to finally execute the command. Each instance of this class should only be used for one invocation of the command (means: one call to call())
    Since:
    2.2
    See Also:
    Git documentation about gc
    • Field Detail

      • DEFAULT_GC_AGGRESSIVE_DEPTH

        public static final int DEFAULT_GC_AGGRESSIVE_DEPTH
        Default value of maximum delta chain depth during aggressive garbage collection: 250
        Since:
        3.6
        See Also:
        Constant Field Values
      • DEFAULT_GC_AGGRESSIVE_WINDOW

        public static final int DEFAULT_GC_AGGRESSIVE_WINDOW
        Default window size during packing during aggressive garbage collection: * 250
        Since:
        3.6
        See Also:
        Constant Field Values
    • Constructor Detail

      • GarbageCollectCommand

        protected GarbageCollectCommand​(Repository repo)
        Parameters:
        repo -
    • Method Detail

      • setExpire

        public GarbageCollectCommand setExpire​(java.util.Date expire)
        During gc() or prune() each unreferenced, loose object which has been created or modified after expire will not be pruned. Only older objects may be pruned. If set to null then every object is a candidate for pruning. Use GitDateParser to parse time formats used by git gc.
        Parameters:
        expire - minimal age of objects to be pruned.
        Returns:
        this instance
      • setAggressive

        public GarbageCollectCommand setAggressive​(boolean aggressive)
        Whether to use aggressive mode or not. If set to true JGit behaves more similar to native git's "git gc --aggressive". If set to true compressed objects found in old packs are not reused but every object is compressed again. Configuration variables pack.window and pack.depth are set to 250 for this GC.
        Parameters:
        aggressive - whether to turn on or off aggressive mode
        Returns:
        this instance
        Since:
        3.6
      • call

        public java.util.Properties call()
                                  throws GitAPIException
        Description copied from class: GitCommand
        Executes the command
        Specified by:
        call in interface java.util.concurrent.Callable<java.util.Properties>
        Specified by:
        call in class GitCommand<java.util.Properties>
        Returns:
        T a result. Each command has its own return type
        Throws:
        GitAPIException - or subclass thereof when an error occurs
      • getStatistics

        public java.util.Properties getStatistics()
                                           throws GitAPIException
        Computes and returns the repository statistics.
        Returns:
        the repository statistics
        Throws:
        GitAPIException - thrown if the repository statistics cannot be computed
        Since:
        3.0