Method: VCLog::Adapters::Git#extract_changes
- Defined in:
- lib/vclog/adapters/git.rb
#extract_changes ⇒ Object
Collect changes, i.e. commits.
| 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # File 'lib/vclog/adapters/git.rb', line 18 def extract_changes list = [] command = 'git log --name-only --pretty=format:"' + GIT_COMMIT_MARKER + '%ci' + GIT_FIELD_MARKER + '%aN' + GIT_FIELD_MARKER + '%H' + GIT_FIELD_MARKER + '%s%n%n%b' + GIT_FIELD_MARKER + '"' changes = `#{command}`.split(RUBY_COMMIT_MARKER) changes.shift # throw the first (empty) entry away changes.each do |entry| date, who, id, msg, files = entry.split(RUBY_FIELD_MARKER) date = Time.parse(date) files = files.split("\n") list << Change.new(:id=>id, :date=>date, :who=>who, :msg=>msg, :files=>files) end return list end |