bk merge(7.3ce) BitKeeper User's Manual bk merge(7.3ce)
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 con-
flicts.
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
bk fmtool
bk remerge
bk resolve
bk resolving
bk smerge
bk triggers
CATEGORY
Repository
File
BitKeeper Inc 1E1 bk merge(7.3ce)