Manpage logo

bk-merge - (unknown subject)


NAME
bk merge − three-way text based file merge

SYNOPSIS
bk merge
[−s] local ancestor remote merge
bk merge
[−s] path/gfile

DESCRIPTION
The bk merge command combines changes made to ancestor by local with the changes made to ancestor by remote and merges them into merge. When only a gfile is given on the command line, it is assumed to be a file in the RESYNC tree with an unresolved merge. In that case the 3 parts are extracted automatically and the merge output is written to stdout. This form is mainly useful as part of pre-resolve triggers.

If all changes are made to different regions of the ancestor, then the merge is said to be free of conflicts.

A conflict occurs if both local and remote have made changes to the same section of ancestor. If a conflict is found, the conflicting lines will be marked in the output as follows:

<<<<<<< local
changes made in the local repository
=======
changes made in the remote repository
>>>>>>> remote

It is up to the caller to edit the merge file and resolve any conflicts.

OPTIONS
−s
Perform a set merge instead of a normal file merge. In this case the files are assumed to be lists of items, one item per line, and the merge does an automatic union of the lists and writes the result in sorted order. Conflicts cannot occur in this mode. This option is automatically used to merge these BitKeeper files:

BitKeeper/etc/gone
BitKeeper/etc/ignore

EXIT STATUS
bk merge
returns exit status:
0 if there were no conflicts
1 if there were conflicts
2 if an error occurred

SEE ALSO
diff3
(1), bk-fmtool, bk-remerge, bk-resolve, bk-resolving, bk-smerge, bk-triggers

CATEGORY
Repository
File


Updated 2026-06-01 - jenkler.se | uex.se