aboutsummaryrefslogtreecommitdiff
path: root/doc/git-annex-resolvemerge.mdwn
blob: b870bab2995cd84d544f8c2483dd7447807d2944 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# NAME

git-annex resolvemerge - resolve merge conflicts

# SYNOPSIS

git annex resolvemerge

# DESCRIPTION

Resolves a conflicted merge, by adding both conflicting versions of the
file to the tree, using variants of their filename. This is done
automatically when using `git annex sync` or `git annex merge`.

Note that only merge conflicts that involve one or more annexed files
are resolved. Merge conflicts between two files that are not annexed
will not be automatically resolved.

# EXAMPLE

Suppose Alice commits a change to annexed file `foo`, and Bob commits
a different change to the same file `foo`. 

Merging between them will then fail, and git will present the
merge conflict as a file `foo` pointing to one version of the
git-annex symlink, with `git status` indicating that `foo` has an
unresolved conflict.

Running `git annex resolvemerge` in this situation will resolve the merge
conflict, by replacing the file `foo` with files named like
`foo.variant-c696` and `foo.variant-f16a`. One of the files has the content
that Alice committed, and the other has the content that Bob committed.

The user can then examine the two variants of the file, and either merge
the two changes into a single file, or rename one of them back to `foo`
and delete the other.

# SEE ALSO

[[git-annex]](1)

# AUTHOR

Joey Hess <id@joeyh.name>

Warning: Automatically converted into a man page by mdwn2man. Edit with care.