bk alias(7.3ce) BitKeeper User's Manual bk alias(7.3ce) NAME bk alias - manage aliases for lists of components SYNOPSIS bk alias [add|rm|set|new] [<options>] <name> [<component> ...] CREATING AN ALIAS bk alias new [-C] <name> <component> ... bk alias set [-C] <name> <component> ... ADDING COMPONENTS TO AN ALIAS bk alias add [-C] <name> <component> ... REMOVING AN ALIAS bk alias rm [-C] <name> REMOVING COMPONENTS FROM AN ALIAS bk alias rm [-C] <name> <component> ... REPLACING AN ALIAS bk alias set [-C] <name> <component> ... LIST ALL ALIASES bk alias [-r<rev>] [-hm] [-k] [-v] SHOW AN ALIAS bk alias [-r<rev>] [-hm] [-k] [-v] <name> DESCRIPTION The bk alias command is used to create, modify, remove, or list aliases. An alias is a symbolic name that resolves to a list of other aliases or root keys for one or more components (aka sub-repositories in a product). Alias names are similar to C identifiers and must match this regular expression: [A-Za-z][A-Za-z0-9_]* When creating, or adding to, an alias, how the components are specified and expanded is as follows: ./gcc Any path that names a component means just that one component. The path is relative to the current working directory; if the current working directory is not at the root of the product then the sub-path to the current working directory is prefixed automatically. The prefixed path is matched against the list of attached and committed components, i.e., specifying a path to a newly created but unattached component will result in an error. <key> A root key of a component is the same as specifying the path to that component. COMPILER Any name without a leading "./" is taken as another alias to be expanded recursively. When adding a component to an alias, if the alias does not exist it is automatically created in the aliases file. When modifying an alias the command line can include '-' instead of the arguments and the list of aliases to add or remove will be read from standard input instead. PRE-DEFINED OR RESERVED ALIASES There are a number of predefined aliases. Predefined aliases may not be modified and they may not be used as part of a user defined alias. . This context sensitive alias means the current repository, be it the product or a component. ALL This alias means all components (as well as the product). If you try and expand ALL and there are missing components the expansion will fail. PRODUCT This alias always means the product. THERE This alias means all components and the product that are cur- rently present in the nested collection. If you do not care what the other side has, you just want to replicate it, then $ bk clone -sTHERE bk://good-stuff/some-repo HERE This is the same as THERE but it makes more sense for commands like so: $ bk clone -sHERE . bk://good-stuff/have-mine add Reserved name, conflicts with the "bk alias add" command. rm Reserved name, conflicts with the "bk alias rm" command. set Reserved name, conflicts with the "bk alias set" command. new Reserved name, conflicts with the "bk alias new" command. The predefined aliases ALL, HERE, THERE, PRODUCT, are case insensitive, i.e., "here" and "HERE" mean the same thing. In all other cases the names are case sensitive. OPTIONS -@<URL> When changing an alias leads to changing what components are here, include <URL> in the list of places to look. -C Normally, modifying the aliases database results in a changeset committing that change. This option suppresses the commit. Use this option when you wish to combine the alias event with other changes to the product. -h (here) Used when showing aliases; causes only aliases that are fully present to be listed. -k (keys) Used when showing aliases; causes individual components to be listed by their rootkeys instead of the current pathname, which is the default output. -m (missing) Used when showing aliases; causes only aliases that are not fully present to be listed. -r<rev> Used when showing aliases; causes the aliases to be listed as of an older revision of the BitKeeper/etc/aliases file. -v Used when showing aliases; causes aliases to be expanded to show contents using an indented list. Adding more -v options expands to more levels. EXAMPLES To create an alias that points to a named list of components: $ bk alias new COMPILER ./cmd/gcc ./cmd/as ./cmd/ld ./cmd/nm or, if you wish to type less: $ cd cmd $ bk alias new COMPILER ./gcc ./as ./ld ./nm To create a higher level alias that includes the debugger: $ bk alias new DEV-TOOLS ./gdb COMPILER List all aliases: $ bk alias COMPILER DEV-TOOLS Show an alias that contains another: $ bk alias DEV-TOOLS COMPILER ./cmd/gdb Expand an alias into paths: $ bk comps -sDEV-TOOLS ./cmd/as ./cmd/gcc ./cmd/gdb ./cmd/ld ./cmd/nm To remove a component from an alias: $ bk alias rm COMPILER ./cmd/nm FILES The aliases database is a flat text file stored in Bit- Keeper/etc/aliases. Any components that are specified as a path are stored internally as their root keys so that the alias will expand cor- rectly even if the specified component[s] is/are moved. SEE ALSO bk clone bk comps bk glob bk id bk here CATEGORY Nested BitKeeper Inc 1E1 bk alias(7.3ce)