Bazaar stores the specified email address in revisions when they’re created so that people can tell who committed which revisions. The email addresses are not verified, therefore they could be bogus, so you have to trust the people involved in your project. Additionally, the email address in a revision gives others a way to contact the author of a revision for credit and/or blame. :)
Bazaar will try to guess an email address based on your username and the hostname if none is set. This will probably not be what you want, so three ways exist to tell Bazaar what email to use:
You can set your email in one of several configuration files. Like other configuration values, you can set it in bazaar.conf as a general setting. If you want to override the value for a particular branch, or set of branches, you can use locations.conf. .bzr/branch/branch.conf will also work, but will cause all commits to that branch to use the same email address, even if someone else does them.
The order of precedence is
- If the BZR_EMAIL environment variable is set.
- If an email is set for your current branch in the locations.conf file.
- If an email is set four your current branch in the .bzr/branch/branch.conf file.
- If an email is set in the bazaar.conf default configuration file.
- If the EMAIL environment variable is set.
- Bazaar will try to guess based on your username and the hostname.
To check on what Bazaar thinks your current email is, use the whoami (“who am i?”) command:
% bzr whoami Joe Cool <email@example.com>
You can use the whoami command to set your email globally:
% bzr whoami "Joe Cool <firstname.lastname@example.org>"
or only for the current branch:
% bzr whoami --branch "Joe Cool <email@example.com>"
These modify your global bazaar.conf or branch branch.conf file, respectively.
To use the default ini file, create or edit the bazaar.conf file (in ~/.bazaar/ on Unix and in %APPDATA%\bazaar\2.0\ in Windows) and set an email address as shown below. Please note that the word DEFAULT is case sensitive, and must be in upper-case.
[DEFAULT] email=Your Name <firstname.lastname@example.org>
For more information on the ini file format, see Configuration Settings in the Bazaar User Reference.
The second approach is to set email on a branch by branch basis by using the locations.conf configuration file like this:
[/some/branch/location] email=Your Name <email@example.com>
This will set your email address in the branch at /some/branch/location, overriding the default specified in the bazaar.conf above.
The final method Bazaar will use is checking for the BZR_EMAIL and EMAIL environment variables. Generally, you would use this method to override the email in a script context. If you would like to set a general default, then please see the ini methods above.
Some people want to avoid sharing their email address so as not to get spam. Bazaar will never disclose your email address, unless you publish a branch or changeset in a public location. It’s recommended that you do use a real address, so that people can contact you about your work, but it’s not required. You can use an address which is obfuscated, which bounces, or which goes through an anti-spam service such as spamgourmet.com.