Coder Social home page Coder Social logo

oresoftware / fame Goto Github PK

View Code? Open in Web Editor NEW
14.0 6.0 1.0 325 KB

Command line tool to display git log information by user/commiter. :tickets:

License: MIT License

JavaScript 39.55% TypeScript 19.51% Shell 40.94%
git git-log cli-table json command-line command-line-tool npm nodejs

fame's Introduction

๐ŸŽŸ Fame - a tool for displaying git log information by author

- Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame Fame

This command line tool is similar to git fame, but this is much faster. People were complaining that the ruby/python tools were too slow, so I wrote this.

Installation

$ npm install -g fame

For latest version, use: npm view fame version







Basic Usage

By default, a table is printed to the console. If you want JSON output, use the --json flag.

fame --json

Info for all commits by "alex"

fame --author=alex

Info for all commits on dev branch by a particular author

fame --branch=dev --author=alex

Info for all commits for multiple authors

fame --author=donnie --author=ronnie --author=jonnie

More options

Handling multiple email addresses for same person.
fame --add-user <display name> -e <email> 

now, when fame runs at the command line, it will pick up the info from this file ($HOME/fame.conf.json), to combine info from the different emails.

You can add multiple emails like so:

fame -u <display name> -e <email> -e <email> 

Sorting with --order and --sort options

You can sort using the --sort and --order options.

For example:

fame --sort=1 --order=asc  # will sort by the the 2nd column, ascending
fame --sort=2,3 --order=desc  # will sort by the the 3rd and 4th column, with the 3rd column the priority

Or for example, instead of numbers you can also just use the name (case-insensitive) of the column:

fame --sort='added lines, files modified' --order=asc

Comma-separated list, case-insensitive and whitespace-insensitive


Matching on files (ignoring files too)

Info for all matching files

fame --match='\.js'


Info for all files that end with

fame --extension='.js'  # better to just use the regex option tho

Example

To match all .ts files but no .d.ts files, you would do:

fame --match='\.ts$'  --not-match='\.d\.ts$'

Remember these strings are passed to new RegExp() so have to escpae the . etc.


Basic command line table output looks like this:

Command line JSON output looks like this:

fame's People

Contributors

oresoftware avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

t73biz

fame's Issues

why would fame not process all commits?

I'm sorry that I open an issue for a support question, but I couldn't find a forum or a support email. But maybe it's a bug, who knows.

For one of my repos, I get the following output:

$ fame
fame: SHA/Branch: HEAD
fame: Files must match at least one of: [ /.*/ ]
fame: Full branch name: master
fame: processing commit no.: 101, finished: 98.06%

[snip]

But github tells me there are 103 commits and git rev-list --count HEAD also returns 103.

show names instead of email addresses

I really like your tool. It's very fast.

The only thing I'm missing is to see the authors' names instead of the email addresses.
Any chance you could add an option for that?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.