bk here(7.3ce) BitKeeper User's Manual bk here(7.3ce)
NAME
bk here - list or change the set of populated repositories
bk populate - add one or more components to a nested collection
bk unpopulate - remove one or more components to a nested collection
SYNOPSIS
bk here [set|check] [-@<URL>] [-fq] [<alias | comp>]
bk populate [-@<URL>] [-fq] <alias | component> ...
bk unpopulate [-@<URL>] [-fq] <alias | component> ...
SETTING THE SET OF POPULATED COMPONENTS AND/OR ALIASES
bk here set [-@<URL>] [-fq] <alias | component> ...
LISTING POPULATED ALIASES
bk here [-v]
POPULATING COMPONENTS AND/OR ALIASES
bk populate [-@<URL>] [-fq] <alias | component> ...
CHECKING COMPONENT AVAILABILITY
bk here check [-@<URL>] [-qv] [<alias | component>] ...
UNPOPULATING COMPONENTS AND/OR ALIASES
bk unpopulate [-@<URL>] [-fq] <alias | component> ...
SETTING THE SET OF POPULATED COMPONENTS AND/OR ALIASES
bk here set [-@<URL>] [-fq] <alias | component> ...
DESCRIPTION
The bk here, bk populate, and bk unpopulate commands are used to manage
the set of populated aliases and/or components in a nested collection.
The initial set of populated aliases are determined when a nested col-
lection is cloned. If no aliases are specified on the clone command
line then the set is specified via the clone_default configuration
variable (which is "ALL" if not found). If one or more aliases are
specified, then only the repositories implied by those aliases are pop-
ulated.
The bk here command can be used to list what is here, set what is here,
or check what is here and list other places where components can be
found. The -a option to bk here check prints out all URLs in which the
component(s) can be found. If no alias parameters are listed with bk
here check, then only the missing components are checked.
The bk populate command can be used to add to what is here. The bk
unpopulate command can be used to remove from what is here.
In order to preserve any local work, before removing any components bk
here needs to be able to verify everything being removed exists else-
where. The bk superset command will be run, which searches for local
changesets, deltas, modifications, extra files, etc. See -f below for
how to skip this check.
Note that it is not (currently) possible to remove part of an alias.
If DEVTOOLS is populated and it implies "cmd/gcc" and "cmd/gdb",
attempting to remove either component will result in an error. See
examples below for how to work around this.
OPTIONS
-@<URL> When looking for components, include <URL> in the list of
places to look.
-a When used with bk here check, print out all URLs in which the
component(s) can be found.
-f When removing repositories, do not check for local only work in
the repositories to be removed. Using this option when there
is local only work is dangerous unless you plan to undo all of
that work.
-q Run quietly.
-v When listing aliases, show alias expansions using an indented
list. Add -v more options to indent to a deeper level. When
checking aliases, -v will output status of connecting to other
repositories.
EXAMPLES
When cloning a product, it is possible to clone a subset of it by spec-
ifying one or more component names or aliases. That will clone just
that subset:
$ bk clone -sDEVTOOLS bk://server/big-product
$ cd big-product
$ bk here
DEVTOOLS
PRODUCT
Note that the list of what is "here" takes two forms, how you specified
it (typically one or more aliases), and the set of components implied
by those aliases. To get the second form:
$ bk comps -h
./cmd/gcc
./cmd/gas
./cmd/ld
If you need to add something, you just tell bk populate to do that:
$ bk populate DEBUGGER
$ bk here
DEBUGGER
DEVTOOLS
PRODUCT
If you need to remove something, you can only remove what you added,
not individual components:
$ bk unpopulate ./cmd/gcc
unpopulate: ./cmd/gcc is part of the DEVTOOLS alias, not removing.
If you absolutely must remove a subset, you can do so by exploding the
alias in question into components:
$ bk here | grep -v DEVTOOLS > tmp
$ bk alias DEVTOOLS >> tmp
$ bk here set - < tmp
$ bk unpopulate ./cmd/gcc
$ bk here
./cmd/gas
./cmd/ld
DEBUGGER
PRODUCT
If you want to check where missing components can be found:
$ bk here check
bin : no valid urls found (missing)
cmd/gcc: /repos/bk-trunk
This shows that the missing bin component has unique work in it rela-
tive to other searched repositories. In this case, in order for popu-
late to work, the user would need to specify -@<URL> to name where to
fetch the bin component.
If you want to see all places this repository can find the missing com-
ponents, add -a to the command:
$ bk here check -a
bin:
no valid urls found (missing)
cmd/gcc:
/repos/bk-trunk
bk://repos.bitkeeper.com/bk-trunk
SEE ALSO
bk alias
bk comps
CATEGORY
Nested
BitKeeper Inc 1E1 bk here(7.3ce)