bk send(7.3ce) BitKeeper User's Manual bk send(7.3ce)
NAME
bk send - send a BitKeeper patch
SYNOPSIS
bk send [-dfqS] [-w<wr>] [-r<revs>] [-s<subject>] [-u<URL>] <u@h.ca>| -
DESCRIPTION
The bk send interface may be used to send changes through electronic
mail. In general, the bk push and bk pull interfaces are the easiest
way to keep two repositories synchronized, but bk send requires only an
email transport.
To send the whole repository, do:
$ bk send user@host.com
BitKeeper will generate the (huge) patch and mail it to user@host.com.
If you happen to know that you want to send changes that occurred after
a specific changeset (and you know that the other repository has that
changeset), you can do this:
$ bk send -rbeta.. -s'Changes since beta' user@host.com
or
$ bk send -r1.10.. user@host.com
Send remembers the changesets it has sent in BitKeeper/log/send-address
where address is like user@host.com. When you don't specify a list of
changesets to send, "send" will look in the log file and send only the
new changesets. So the easiest thing to do is to always use the same
email address and just say:
$ bk send user@host.com
If you lose the log file and you want to seed it with the changes you
know have been sent, the command to do that is:
$ cd BitKeeper/log
$ bk changes -r<revs> -nd:KEY: > send-user@host.com
An alternative to the log file approach, which may only be used if you
have connectivity to the remote repository, is to talk to the remote
repository to find out what needs to be sent. The following will send
all the changes you have that the remote does not have:
$ bk send -ubk://thunk.org:5000 tytso@mit.edu
You may wrap patches so that they do not get corrupted by mailers. We
currently support wrapping with uuencode. The following (contrived)
command sends a wrapped patch and applies it in /tmp/foo (which must
exist):
$ bk send -wuu -r..1.5 - | bk receive /tmp/foo
OPTIONS
-d Prepend the patch with unified diffs. This is because some
people like looking at the diffs to decide if they want the
patch or not.
-f send the patch even if BitKeeper believes the remote repos-
itory is up to date.
-q Be quiet.
-r<revs> Specify the list of changesets to send.
-s<subject> Specify a subject line for the patch email. Without "-s",
the default subject line "BitKeeper patch" is used.
-S When used in a nested collection, send a patch only for the
component at the current working directory.
-u<URL> Instead of consulting the send log, connect to the remote
repository specified by the URL, figure out what needs to
be sent, and send it to the specified email address.
-w<wr> Wrap the patch with <WR> before sending it. The current
set of wrappers are:
b64 base-64 encoding
gzip_b64 gzip and base-64 encoding
gzip_uu gzip and uuencode
uu uuencode
SEE ALSO
bk range
bk receive
bk wrap
CATEGORY
File
BitKeeper Inc 1E1 bk send(7.3ce)