The bk send command is used in lieu of bk push when the only
connection to a remote machine is through email.
To send a complete repository, use:
 |
$ bk send user@host.com
|
BitKeeper then generates a very large patch and mails it to
user@host.com.
To keep the size of the patch to a minimum, if you know a specific
change you want to send (and you know that the other repository
has the changes leading up to the change you want to send), you
can do this:
 |
$ bk send -rbeta.. user@host.com
|
or
 |
$ bk send -r1.10.. user@host.com
|
Send remembers the changesets it has sent in
BitKeeper/log/sendlog-address
where
address
is like user@host.com.
When you don't specify a list of changesets to send,
bk send
will look in the log file and send only the new changesets.
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 send it with the changes
you know have been sent, the command to do that is:
 |
$ cd package-root
$ bk prs -h -rrevs -d:KEY: ChangeSet > BitKeeper/log/send-user@host.com
|
You can wrap patches so that they do not get corrupted by mailers.
BitKeeper currently supports 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
|