One of Arch's strengths is its merge commands. But there are a bunch of them, and it can be hard to know which to use in which situation.

One strategy, many commands

replay, update and star-merge can all use an apply-delta strategy to perform merges. Star-merge has an additional strategy available.

replay REVISION is a special case of apply-delta-- it applies the delta between a revision and its ancestor to the current tree. replay VERSION just repeats the process for every revision in the version that doesn't have a patchlog in the tree.

update has two strategies, but both are based on apply-delta. When dealing with a commit-based version in the absense of revision libraries, it does replay VERSION. Otherwise, it determines the last revision with a patchlog in the tree, and the last revision in the archive, calculates their delta, and applies it.

star-merge is more sophisticated than update in two ways. The first is its more complicated method of selecting revisions. The second is that it has another merge strategy, beyond apply-delta: three-way.

Merging with Arch (last edited 2008-08-02 07:16:36 by 64)