Class StrategyOneSided


  • public class StrategyOneSided
    extends MergeStrategy
    Trivial merge strategy to make the resulting tree exactly match an input.

    This strategy can be used to cauterize an entire side branch of history, by setting the output tree to one of the inputs, and ignoring any of the paths of the other inputs.

    • Constructor Detail

      • StrategyOneSided

        protected StrategyOneSided​(String name,
                                   int index)
        Create a new merge strategy to select a specific input tree.
        Parameters:
        name - name of this strategy.
        index - the position of the input tree to accept as the result.
    • Method Detail

      • getName

        public String getName()
        Get default name of this strategy implementation.
        Specified by:
        getName in class MergeStrategy
        Returns:
        default name of this strategy implementation.
      • newMerger

        public Merger newMerger​(Repository db)
        Create a new merge instance.
        Specified by:
        newMerger in class MergeStrategy
        Parameters:
        db - repository database the merger will read from, and eventually write results back to.
        Returns:
        the new merge instance which implements this strategy.
      • newMerger

        public Merger newMerger​(Repository db,
                                boolean inCore)
        Create a new merge instance.
        Specified by:
        newMerger in class MergeStrategy
        Parameters:
        db - repository database the merger will read from, and eventually write results back to.
        inCore - the merge will happen in memory, working folder will not be modified, in case of a non-trivial merge that requires manual resolution, the merger will fail.
        Returns:
        the new merge instance which implements this strategy.
      • newMerger

        public Merger newMerger​(ObjectInserter inserter,
                                Config config)
        Create a new merge instance.

        The merge will happen in memory, working folder will not be modified, in case of a non-trivial merge that requires manual resolution, the merger will fail.

        Specified by:
        newMerger in class MergeStrategy
        Parameters:
        inserter - inserter to write results back to.
        config - repo config for reading diff algorithm settings.
        Returns:
        the new merge instance which implements this strategy.