git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Subject: [ANNOUNCE] git related v0.3
Date: Sun, 18 May 2014 19:36:51 -0500	[thread overview]
Message-ID: <537952234b691_10da88d308d8@nysa.notmuch> (raw)

Hi,

This tool finds people that might be interested in a patch, by going
back through the history for each single hunk modified, and finding
people that reviewed, acknowledged, signed, or authored the code the
patch is modifying.

It does this by running `git blame` incrementally on each hunk, and
finding the relevant commit message. After gathering all the relevant
people, it groups them to show what exactly was their role when the
participated in the development of the relevant commit, and on how many
relevant commits they participated. They are only displayed if they pass
a minimum threshold of participation.

It is similar the the `git contacts` tool in the contrib area, which is a
rewrite of this tool, except that `git contacts` does the absolute minimum;
`git related` is way superior in every way.

For example:

------------
% git related master..fc/transport/improv
  Junio C Hamano <gitster@pobox.com> (signer: 90%, author: 5%)
  Felipe Contreras <felipe.contreras@gmail.com> (author: 25%, reviewer: 2%)
  Sverre Rabbelier <srabbelier@gmail.com> (author: 17%, acker: 2%, signer: 7%)
  Jeff King <peff@peff.net> (acker: 17%, author: 10%)
  Shawn O. Pearce <spearce@spearce.org> (author: 5%, signer: 2%, cced: 2%)
  Elijah Newren <newren@gmail.com> (author: 10%)
------------

In addition, it has an option to output the list of commits, instead of the
contributors, which allows you to easily find out the previous changes to the
lines your patches modify.

------------
% git related -c master..fc/transport/improv
  99d9ec0 Merge branch 'fc/transport-helper-no-refspec'
  67c9c78 transport-helper: barf when user tries old:new
  0460ed2 documentation: trivial style cleanups
  126aac5 transport-helper: fix remote helper namespace regression
  21610d8 transport-helper: clarify pushing without refspecs
  a93b4a0 transport-helper: warn when refspec is not used
  664059f transport-helper: update remote helper namespace
  c4458ec fast-export: Allow pruned-references in mark file
  ...
------------

Moreover, when sending patches for review, you can configure `git send-email`
to use `git related` to find relevant people that should be Cc'ed:

------------
% git send-email --cc-cmd='git related' *.patch
------------

Compared to `git related`, `git contacts` has the following limitations:

 1) Doesn't show the amount of involvement
 2) Doesn't show the kind of involvement (reviewer, author) nor
    does it group people by their email address
 3) Doesn't have the option to show the commit themselves
 4) Doesn't have any options at all (--since, --min-percent)

Cheers.

https://github.com/felipec/git-related

Changes since v0.1:

 * Fix compatibility with older versions
 * Add -clong option
 * Add manpage
 * Improve performance by grouping line ranges

Felipe Contreras (12):
      Fix compatibility with Ruby 1.9
      Add support for Ruby 1.8
      Fix popen workaround
      Refactor blame parsing
      Pass multiple ranges to `git blame`
      test: add gitingnore file
      Add -clong option
      Add manpage
      build: add installation stuff
      readme: trivial updates
      test: add test-lib helper
      travis: initial configuration

-- 
Felipe Contreras

             reply	other threads:[~2014-05-19  0:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-19  0:36 Felipe Contreras [this message]
2014-05-19 10:11 ` [ANNOUNCE] git related v0.3 Ævar Arnfjörð Bjarmason
2014-05-19 21:27   ` Felipe Contreras
2021-05-27  0:58   ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=537952234b691_10da88d308d8@nysa.notmuch \
    --to=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).