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

[PATCH v2 8/8] contrib: cc-cmd: add option to fetch aliases

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 19, 2013, 05:14 UTC
Message-ID
<1366348458-7706-9-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1366348458-7706-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 | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
diff --git a/contrib/cc-cmd/git-cc-cmd b/contrib/cc-cmd/git-cc-cmd
index 6911259..02548c6 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], '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
@@ -60,6 +83,7 @@ class Commit
     end
     roles = roles.map do |person, role|
       address = "%s <%s>" % person
+      person = nil, $aliases[address] if $aliases.include?(address)
       [person, role]
     end
     [id, roles]
-- 
1.8.2.1.790.g4588561
Previous: Felipe Contreras
Message 22 of 22 in “New git-cc-cmd helper”
  1. 0/8 New git-cc-cmd helperFelipe Contreras, Apr 19, 2013
  2. 1/8 Add new git-cc-cmd helper to contribFelipe Contreras, Apr 19, 2013
  3. Ramkumar RamachandraApr 19, 2013
  4. Felipe ContrerasApr 19, 2013
  5. Junio C HamanoApr 19, 2013
  6. Felipe ContrerasApr 19, 2013
  7. Junio C HamanoApr 19, 2013
  8. Felipe ContrerasApr 19, 2013
  9. Junio C HamanoApr 19, 2013
  10. Johannes SixtApr 19, 2013
  11. Junio C HamanoApr 20, 2013
  12. Jeremy RosenApr 22, 2013
  13. Junio C HamanoApr 19, 2013
  14. 2/8 contrib: cc-cmd: add option parsingFelipe Contreras, Apr 19, 2013
  15. 3/8 contrib: cc-cmd: add support for multiple patchesFelipe Contreras, Apr 19, 2013
  16. 4/8 contrib: cc-cmd: add option to show commitsFelipe Contreras, Apr 19, 2013
  17. 5/8 contrib: cc-cmd: add option to parse from committishFelipe Contreras, Apr 19, 2013
  18. Junio C HamanoApr 19, 2013
  19. Felipe ContrerasApr 19, 2013
  20. 6/8 contrib: cc-cmd: parse committish like format-patchFelipe Contreras, Apr 19, 2013
  21. 7/8 contrib: cc-cmd: fix parsing of rev-list argsFelipe Contreras, Apr 19, 2013
  22. 8/8 contrib: cc-cmd: add option to fetch aliasesFelipe Contreras, Apr 19, 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.