Fue
Find e-mail addresses of a Github users from their commit logs.
Fue is short for "Finding Unicorn Engineers".
Table of Contents
- Usage
- Commands
- Find Someone’s Email
- Find All Repo Contributors’ Emails
- Options
- Exclude No-Reply Emails
- Exclude Emails from Signed-off-by
- Specify More Depth
- Get Help
- Access Tokens
- Commands
- Debugging
- Contributing
- Copyright and License
Usage
gem install fue
Commands
Find Someone's Email
The find
command looks through user's initial repository commits.
$ fue --verbose find defunkt
Chris Wanstrath <chris@ozmm.org>
Chris Wanstrath <chris@github.com>
Find All Repo Contributors' Emails
The contributors
command looks through a git log of contributors, then fetches their e-mails.
$ fue --verbose contributors defunkt/colored
defunkt: Chris Wanstrath <chris@ozmm.org>
kch: Caio Chassot <kch@users.noreply.github.com>
Options
Exclude No-Reply Emails
By default fue find
and fue contributors
will include no-reply emails such as kch@users.noreply.github.com
. Exclude those with --no-noreply
.
fue find --no-noreply kch
fue --verbose contributors --no-noreply defunkt/colored
Exclude Emails from Signed-off-by
By default fue find
and fue contributors
will include emails gathered from Signed-off-by
text in commit descriptions. Exclude those with --no-signed-off-by
.
fue find --no-signed-off-by defunkt
fue --verbose contributors --no-signed-off-by defunkt/colored
Specify More Depth
By default the code looks at 1 commit from the last 10 repositories. You can look at more repositories (breadth) and more commits (depth). The maximum value for depth is 100, enforced by Github. Fue will iterate over a number of repositories larger than 100.
$ fue find --breadth=100 --depth=5 defunkt
Chris Wanstrath <chris@ozmm.org>
Chris Wanstrath <chris@github.com>
defunkt <chris@ozmm.org>
Get Help
fue help
Displays additional options.
Access Tokens
Fue will ask you to create a personal access token and will store it in the keychain. The access token should be created with public_repo
scope here. You can also skip the prompts and use a previously obtained token with -t
or by setting the GITHUB_ACCESS_TOKEN
environment variable.
See Creating a Personal Access Token for the Command Line for more information about personal tokens.
Debugging
If you run into an unexpected error, try getting a stack trace with GLI_DEBUG=true
.
$ GLI_DEBUG=true fue find dblock
FrozenError: can't modify frozen String
/Users/dblock/source/dblock/fue/lib/fue/auth.rb:97:in `get_secure'
/Users/dblock/source/dblock/fue/lib/fue/auth.rb:80:in `get_password'
/Users/dblock/source/dblock/fue/lib/fue/auth.rb:50:in `password'
/Users/dblock/source/dblock/fue/lib/fue/auth.rb:59:in `block in github'
Contributing
There are a few feature requests and known issues. Please contribute! See CONTRIBUTING.
Copyright and License
Copyright (c) 2018-2022, Daniel Doubrovkine, Artsy, with help from Orta.
This project is licensed under the MIT License.