MCPcopy Create free account
hub / github.com/ReZeroS/git / mergeTrees

Method mergeTrees

src/main/java/club/qqtim/diff/DiffUtil.java:140–149  ·  view source on GitHub ↗

key: path val: blob content Three-way merge @param headTree source tree @param otherTree target tree @return merged tree

(Map<String, String> baseTree, Map<String, String> headTree, Map<String, String> otherTree)

Source from the content-addressed store, hash-verified

138 * @return merged tree
139 */
140 public static Map<String, String> mergeTrees(Map<String, String> baseTree, Map<String, String> headTree, Map<String, String> otherTree) {
141 final Map<String, List<String>> comparedTrees = compareTrees(baseTree, headTree, otherTree);
142 Map<String, String> mergedTrees = new HashMap<>();
143 comparedTrees.forEach((path, trees) -> {
144 String mergeBlobs = mergeBlobs(trees.get(0), trees.get(1), trees.get(2));
145 final String objectId = HashObject.hashObject(mergeBlobs.getBytes(StandardCharsets.UTF_8));
146 mergedTrees.put(path, objectId);
147 });
148 return mergedTrees;
149 }
150
151 /**
152 * diff3

Callers 1

readTreeMergedMethod · 0.95

Calls 3

compareTreesMethod · 0.95
mergeBlobsMethod · 0.95
hashObjectMethod · 0.95

Tested by

no test coverage detected