This is a command line interface to the bug tracking system, intended mainly
for use by developers. It lets the BTS be manipulated using simple commands
that can be run at the prompt or in a script, does various sanity checks on
the input, and constructs and sends a mail to the BTS control address for
In general, the command line interface is the same as what you would write
in a mail to firstname.lastname@example.org, just prefixed with ``bts''. For
% bts close 85942
% bts severity 69042 normal
% bts merge 69042 43233
% bts retitle 69042 blah blah
A few additional commands have been added for your convenience, and this
program is less strict about what constitutes a valid bug number. For example,
``close Bug#85942'' is understood, as is ``close #85942''.
Also, for your convenience, this program allows you to abbreviate commands
to the shortest unique substring (similar to how cvs lets you abbreviate
commands). So it understands things like ``bts cl 85942''.
It is also possible to include a comment in the mail sent to the BTS. If
your shell does not strip out the comment in a command like
``bts severity 30321 normal #inflated severity'', then this program is smart
enough to figure out where the comment is, and include it in the email.
Note that most shells do strip out such comments before they get to the
program, unless the comment is quoted.
You can specify multiple commands by separating them with a single dot,
rather like update-rc.d; a single comma may also be used; all the
commands will then be sent in a single mail. For example (quoting where
necessary so that bts sees the comment):
% bts severity 95672 normal , merge 95672 95673 \#they\'re the same!
Please use this program responsibly, and do take our users into
For full details about the commands, see the BTS documentation.
Display a particular bug in a web browser. The browser can be configured by
setting the BROWSER environment variable. The conventions follow those
defined by Eric Raymond at http://www.tuxedo.org/~esr/BROWSER/; we here
reproduce the relevant part.
The value of BROWSER may consist of a colon-separated series of
browser command parts. These should be tried in order until one
succeeds. Each command part may optionally contain the string ``%s''; if
it does, the URL to be viewed is substituted there. If a command part
does not contain %s, the browser is to be launched as if the URL had
been supplied as its first argument. The string %% must be substituted
as a single %.
Rationale: We need to be able to specify multiple browser commands so
programs obeying this convention can do the right thing in either X or
console environments, trying X first. Specifying multiple commands may
also be useful for people who share files like .profile across
multiple systems. We need %s because some popular browsers have
remote-invocation syntax that requires it. Unless %% reduces to %, it
won't be possible to have a literal %s in the string.
For example, on most Linux systems a good thing to do would be:
Display all of a maintainer or package's bugs, in a web browser. If neither
a maintainer email address nor a package is specified, it will display your
bugs (if DEBEMAIL is set to the appropriate email address).
Close a bug. Remember that using this to close a bug is often bad manners,
sending an informative mail to email@example.com is much better.
reopen <bug> <submitter>
Reopen a bug, with optional submitter.
retitle <bug> <title>
Change the title of the bug.
reassign <bug> <package>
Reassign a bug to a different package.
merge <bug> <bug> [<bug> ...]
Merge a set of bugs together.
Unmerge a bug.
tag <bug> [+|-|=] tag [tag ..]
tags <bug> [+|-|=] tag [tag ..]
Set or unset a tag on a bug. The tag may be abbreviated to any unique
substring. Multiple tags may be specified as well. The two commands
(tag and tags) are identical.
severity <bug> <severity>
Change the severity of a bug. The severity may be abbreviated to any unique
forwarded <bug> <email>
Mark the bug as forwarded to the given email address.
Mark a bug as not forwarded.
Display version and copyright information.
Display a short summary of commands, suspiciously similar to parts of this
If this is set, the From: line in the email will be set to use this email
address instead of your normal email address (as would be determined by
If DEBEMAIL is set, DEBFULLNAME is examined to determine the full name
to use; if this is not set, bts attempts to determine a name from
your passwd entry.
If set, it specifies the browser to use for the 'show' and 'bugs'
options. See the description above.
No caching is done of requested data from the BTS, unless the web browser
you use is configured to use a proxy.
This program is Copyright (C) 2001 by Joey Hess <firstname.lastname@example.org>.
It is licensed under the terms of the GPL.