Class StrategyOneSided

java.lang.Object
org.eclipse.jgit.merge.MergeStrategy
org.eclipse.jgit.merge.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.

  • Field Details

    • strategyName

      private final String strategyName
    • treeIndex

      private final int treeIndex
  • Constructor Details

    • 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 Details

    • 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.