[PATCH v2 2/8] contrib: cc-cmd: add option parsing
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
contrib/cc-cmd/git-cc-cmd | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/contrib/cc-cmd/git-cc-cmd b/contrib/cc-cmd/git-cc-cmd
index c7ecf79..0a5ec01 100755
--- a/contrib/cc-cmd/git-cc-cmd
+++ b/contrib/cc-cmd/git-cc-cmd
@@ -1,8 +1,25 @@
#!/usr/bin/env ruby
+require 'optparse'
+
$since = '3-years-ago'
$min_percent = 5
+begin
+ OptionParser.new do |opts|
+ opts.program_name = 'git cc-cmd'
+ opts.banner = 'usage: git cc-cmd [options] <file>'
+
+ opts.on('-p', '--min-percent N', Integer, 'Minium percentage of role participation') do |v|
+ $min_percent = v
+ end
+ opts.on('-d', '--since DATE', 'How far back to search for relevant commits') do |v|
+ $since = v
+ end
+ end.parse!
+rescue OptionParser::InvalidOption
+end
+
class Commit
attr_reader :id
@@ -107,15 +124,15 @@ class Commits
end
end
end
- import
end
end
exit 1 if ARGV.size != 1
-commits = Commits.new()
+commits = Commits.new
commits.from_patch(ARGV[0])
+commits.import
# hash of hashes
persons = Hash.new { |hash, key| hash[key] = {} }
--
1.8.2.1.790.g4588561