git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 08/11] contrib: cc-cmd: add option to fetch aliases

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 19, 2013, 19:30 UTC
Message-ID
<1366399831-5964-9-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1366399831-5964-1-git-send-email-felipe.contreras@gmail.com>
Only the mutt format is supported for now.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 contrib/cc-cmd/git-cc-cmd | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff --git a/contrib/cc-cmd/git-cc-cmd b/contrib/cc-cmd/git-cc-cmd
index 4fad030..200da0d 100755
--- a/contrib/cc-cmd/git-cc-cmd
+++ b/contrib/cc-cmd/git-cc-cmd
@@ -7,6 +7,8 @@ $min_percent = 5
 $show_commits = false
 $files = []
 $rev_args = []
+$get_aliases = false
+$aliases = {}
 
 begin
   OptionParser.new do |opts|
@@ -22,11 +24,32 @@ begin
     opts.on('-c', '--commits[=FORMAT]', [:raw, :full], 'List commits instead of persons') do |v|
       $show_commits = v || true
     end
+    opts.on('-a', '--aliases', 'Use aliases') do |v|
+      $get_aliases = v
+    end
   end.parse!
 rescue OptionParser::InvalidOption => e
   $rev_args += e.args
 end
 
+def get_aliases
+  type = %x[git config sendemail.aliasfiletype].chomp
+  return if type != 'mutt'
+  file = %x[git config sendemail.aliasesfile].chomp
+  File.open(File.expand_path(file)) do |f|
+    f.each do |line|
+      if line =~ /^\s*alias\s+(?:-group\s+\S+\s+)*(\S+)\s+(.*)$/
+        key, addresses = $1, $2.split(', ')
+        addresses.each do |address|
+          $aliases[address] = key
+        end
+      end
+    end
+  end
+end
+
+get_aliases if $get_aliases
+
 class Commit
 
   attr_reader :id, :roles
@@ -56,6 +79,8 @@ class Commit
       end
     end
     @roles = roles.map do |person, role|
+      address = "%s <%s>" % person
+      person = nil, $aliases[address] if $aliases.include?(address)
       [person, role]
     end
   end
-- 
1.8.2.1.790.g4588561
Previous: Felipe ContrerasNext: Felipe Contreras
Message 11 of 17 in “Add new git-cc-cmd helper to contrib”
  1. 00/11 Add new git-cc-cmd helper to contribFelipe Contreras, Apr 19, 2013
  2. 01/11 Add new git-cc-cmd helper to contribFelipe Contreras, Apr 19, 2013
  3. Felipe ContrerasApr 19, 2013
  4. Junio C HamanoApr 19, 2013
  5. 02/11 contrib: cc-cmd: add option parsingFelipe Contreras, Apr 19, 2013
  6. 03/11 contrib: cc-cmd: add support for multiple patchesFelipe Contreras, Apr 19, 2013
  7. 04/11 contrib: cc-cmd: add option to show commitsFelipe Contreras, Apr 19, 2013
  8. 05/11 contrib: cc-cmd: add option to parse from committishFelipe Contreras, Apr 19, 2013
  9. 06/11 contrib: cc-cmd: parse committish like format-patchFelipe Contreras, Apr 19, 2013
  10. 07/11 contrib: cc-cmd: fix parsing of rev-list argsFelipe Contreras, Apr 19, 2013
  11. 08/11 contrib: cc-cmd: add option to fetch aliasesFelipe Contreras, Apr 19, 2013
  12. 09/11 contrib: cc-cmd: support multiple rolesFelipe Contreras, Apr 19, 2013
  13. 10/11 contrib: cc-cmd: sort by participationFelipe Contreras, Apr 19, 2013
  14. 11/11 contrib: cc-cmd: ignore chunks with no original linesFelipe Contreras, Apr 19, 2013
  15. Junio C HamanoApr 19, 2013
  16. Duy NguyenApr 20, 2013
  17. Felipe ContrerasApr 20, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.