1git-annex-resolvemerge(1) General Commands Manual git-annex-resolvemerge(1)
2
3
4
6 git-annex-resolvemerge - resolve merge conflicts
7
9 git annex resolvemerge
10
12 Automatically resolves a conflicted merge. This is done automatically
13 when using git annex sync or git annex merge.
14
15 When two trees being merged contain conflicting versions of an annexed
16 file, the merge conflict will be resolved by adding both versions to
17 the tree, using variants of the filename.
18
19 When one tree modified the file, and the other tree deleted the file,
20 the merge conflict will be resolved by adding the modified file using a
21 variant of the filename, leaving the original filename deleted.
22
23 When the merge conflict involves a file that is annexed in one tree,
24 but is not annexed in the other tree, it is resolved by keeping the
25 non-annexed file as-is, and adding the annexed version using a variant
26 of the filename.
27
28 Note that only merge conflicts that involve one or more annexed files
29 are resolved. Merge conflicts between two files that are not annexed
30 will not be automatically resolved.
31
33 Suppose Alice commits a change to annexed file foo, and Bob commits a
34 different change to the same file foo.
35
36 Merging between them will then fail, and git will present the merge
37 conflict as a file foo pointing to one version of the git-annex sym‐
38 link, with git status indicating that foo has an unresolved conflict.
39
40 Running git annex resolvemerge in this situation will resolve the merge
41 conflict, by replacing the file foo with files named like foo.vari‐
42 ant-c696 and foo.variant-f16a. One of the files has the content that
43 Alice committed, and the other has the content that Bob committed.
44
45 The user can then examine the two variants of the file, and either
46 merge the two changes into a single file, or rename one of them back to
47 foo and delete the other.
48
49 Now suppose Alice commits a change to annexed file bar, while Bob com‐
50 mits a deletion of the same file bar. Merging will fail. Running git
51 annex resolvemerge in this situation will resolve the merge conflict by
52 making a file with a name like bar.variant-421f containing Alice's ver‐
53 sion. The bar file remains deleted. The user can later examine the
54 variant of the file and either rename it back to bar, or decide to
55 delete it too.
56
58 git-annex(1)
59
61 Joey Hess <id@joeyh.name>
62
63 git-annex-resolvemerge(1)