LinuxCommandLibrary

bk

TLDR

Configure the API token and organization

$ bk configure
copy

Select an organization to use
$ bk use [organization_slug]
copy

Initialize a pipeline.yaml file
$ bk init
copy

List all pipelines in the current organization
$ bk pipeline list
copy

Trigger a build for a pipeline
$ bk build create [pipeline_slug]
copy

View the status of a specific build
$ bk build view [build_number]
copy

List all agents in the current organization
$ bk agent list
copy

Display help
$ bk [[-h|--help]]
copy

SYNOPSIS

bk [global-options] <command> [<command-options>] [<files>...]
Use bk help for subcommands.

PARAMETERS

-h, --help
    Display help for command or global options

-V, --version
    Print BitKeeper version

-d <dir>
    Set repository root directory

-q
    Quiet mode, suppress non-error output

-v
    Verbose mode

-f, --force
    Force operation, override safety checks

-r REV
    Operate on specific revision or changeset

-u, --update
    Update working files after operation

-a, --all
    Apply to all files or revisions

-O
    Use original permissions on files

DESCRIPTION

The bk command is the core client for BitKeeper, a pioneering distributed source code management (SCM) system designed for large-scale software projects. It enables developers to clone repositories, track changes via atomic changesets, commit code, merge branches, and synchronize repositories efficiently across distributed teams.

Unlike centralized tools like CVS, bk supports full local history and offline work, with advanced features like automatic conflict resolution, rename detection, and dependency tracking. It was notably used by Linux kernel developers from 2002 to 2005 for its speed on massive trees.

Invoked with subcommands (e.g., bk clone, bk ci), it operates on a repository root, using a .bk directory for metadata. While powerful for its era, bk has been largely superseded by open-source alternatives due to licensing.

CAVEATS

BitKeeper requires a license for commercial/large use; free version limited. Not actively maintained since 2010s. Repositories incompatible with modern VCS like Git.

COMMON SUBCOMMANDS

bk clone URL - Clone remote repo
bk pull [host] - Fetch changes
bk push [host] - Send changes
bk ci [-c msg] - Commit changeset
bk status - Show changes

REPOSITORY SETUP

Initialize with bk init [-R] [repo-path]. Clone via bk clone http://server/repo.

HISTORY

Developed by Larry McVoy's BitMover Inc. starting 1999. Adopted by Linux kernel in 2002 for superior performance over BitKeeper. Licensing dispute in 2005 led Linus Torvalds to create Git. Open-sourced in 2010 but development stalled.

SEE ALSO

git(1), hg(1), cvs(1), svn(1)

Copied to clipboard