# NAME

`bpkg-rep-add` – add repository to configuration

# SYNOPSIS

`bpkg rep-add|add [options] rep-loc...`

# DESCRIPTION

The `rep-add` command adds the specified package repositories to the configuration. The repository location `rep-loc` is a URL or a directory path. If a repository with the same canonical name already exists in the configuration, then its location is replaced with the specified.

Note that this command doesn't fetch the list of available packages for the newly added repository. For that, use the `bpkg-rep-fetch(1)` command, normally, after adding all the repositories you wish to use.

Currently three types of repositories are supported: archive-based `pkg`, directory-based `dir`, and version control-based `git`. See `bpkg-repository-types(1)` for details on their structure and URL format.

Normally the repository type can be automatically guessed by examining its URL (for example, the presence of the `.git` extension) or, in case of a local repository, its content (for example, the presence of the `.git/` subdirectory). Without any identifying information the `pkg` type is assumed unless explicitly specified with the `--type` option or in the URL scheme. Note, however, that the `dir` repository type is never guessed since it is not easily distinguishable from local `pkg` and `git` repositories.

# REP-ADD OPTIONS

`--type` `type`
  Specify the repository type with valid values being `pkg`, `dir`, and `git`.
`--directory`|`-d` `dir`
  Assume configuration is in `dir` rather than in the current working directory.

# COMMON OPTIONS

The common options are summarized below with a more detailed description available in `bpkg-common-options(1)`.

`-v`
  Print essential underlying commands being executed.
`-V`
  Print all underlying commands being executed.
`--quiet`|`-q`
  Run quietly, only printing error messages.
`--verbose` `level`
  Set the diagnostics verbosity to `level` between 0 and 6.
`--jobs`|`-j` `num`
  Number of jobs to perform in parallel.
`--no-result`
  Don't print informational messages about the outcome of performing a command.
`--no-progress`
  Suppress progress indicators for long-lasting operations, such as network transfers, building, etc.
`--build` `path`
  The build program to be used to build packages.
`--build-option` `opt`
  Additional option to be passed to the build program.
`--fetch` `path`
  The fetch program to be used to download resources.
`--fetch-option` `opt`
  Additional option to be passed to the fetch program.
`--fetch-timeout` `sec`
  The fetch and fetch-like (for example, `git`) program timeout.
`--git` `path`
  The git program to be used to fetch git repositories.
`--git-option` `opt`
  Additional common option to be passed to the git program.
`--sha256` `path`
  The sha256 program to be used to calculate SHA256 sums.
`--sha256-option` `opt`
  Additional option to be passed to the sha256 program.
`--tar` `path`
  The tar program to be used to extract package archives.
`--tar-option` `opt`
  Additional option to be passed to the tar program.
`--openssl` `path`
  The openssl program to be used for crypto operations.
`--openssl-option` `opt`
  Additional option to be passed to the openssl program.
`--auth` `type`
  Types of repositories to authenticate.
`--trust` `fingerprint`
  Trust repository certificate with a SHA256 `fingerprint`.
`--trust-yes`
  Assume the answer to all authentication prompts is `yes`.
`--trust-no`
  Assume the answer to all authentication prompts is `no`.
`--pager` `path`
  The pager program to be used to show long text.
`--pager-option` `opt`
  Additional option to be passed to the pager program.
`--options-file` `file`
  Read additional options from `file`.

# BUGS

Send bug reports to the users@build2.org mailing list.