class OhlohScm::GitSvn::Activity
Public Instance Methods
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 35 def cat_file(commit, diff) cat(git_commit(commit), diff.path) end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 39 def cat_file_parent(commit, diff) cat("#{git_commit(commit)}^", diff.path) end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 8 def commit_count(opts = {}) cmd = "#{after_revision(opts)} | grep -E -e '^r[0-9]+.*lines$' | wc -l" git_svn_log(cmd: cmd, oneline: false).to_i end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 21 def commit_tokens(opts = {}) cmd = "#{after_revision(opts)} | #{extract_revision_number}" git_svn_log(cmd: cmd, oneline: false).split.map(&:to_i) end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 13 def commits(opts = {}) parsed_commits = [] open_log_file(opts) do |io| parsed_commits = OhlohScm::SvnParser.parse(io) end parsed_commits end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 26 def each_commit(opts = {}) commits(opts).each { |commit| yield commit } end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 43 def git_commit(commit) run("cd #{url} && git svn find-rev r#{commit.token}").strip end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 30 def head_token cmd = "--limit=1 | #{extract_revision_number}" git_svn_log(cmd: cmd, oneline: false) end
Private Instance Methods
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 59 def after_revision(opts) next_token = opts[:after].to_i + 1 next_head_token = head_token.to_i + 1 "-r#{next_token}:#{next_head_token}" end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 74 def cat(revision, file_path) file_path = file_path.to_s run("cd #{url} && git show #{revision}:#{file_path.shellescape} | #{string_encoder_path}") .strip end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 65 def extract_revision_number "grep '^r[0-9].*|' | awk -F'|' '{print $1}' | cut -c 2-" end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 69 def git_svn_log(cmd:, oneline:) oneline_flag = '--oneline' if oneline run("#{git_svn_log_cmd} #{oneline_flag} #{cmd}").strip end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 80 def git_svn_log_cmd "cd #{url} && git svn log" end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 55 def log_filename File.join(temp_folder, url.gsub(/\W/, '') + '.log') end
Source
# File lib/ohloh_scm/git_svn/activity.rb, line 49 def open_log_file(opts = {}) cmd = "-v #{after_revision(opts)} | #{string_encoder_path} > #{log_filename}" git_svn_log(cmd: cmd, oneline: false) File.open(log_filename, 'r') { |io| yield io } end