Commit 246faa3d7a60ea2296a24d0c5de1a71a7a48854b
1 parent
8b401039
Exists in
master
and in
4 other branches
Add Commit#to_diff for raw diff
Showing
1 changed file
with
15 additions
and
0 deletions
Show diff stats
app/models/commit.rb
| @@ -150,4 +150,19 @@ class Commit | @@ -150,4 +150,19 @@ class Commit | ||
| 150 | def parents_count | 150 | def parents_count |
| 151 | parents && parents.count || 0 | 151 | parents && parents.count || 0 |
| 152 | end | 152 | end |
| 153 | + | ||
| 154 | + # Shows the diff between the commit's parent and the commit. | ||
| 155 | + # | ||
| 156 | + # Cuts out the header and stats from #to_patch and returns only the diff. | ||
| 157 | + def to_diff | ||
| 158 | + # see Grit::Commit#show | ||
| 159 | + patch = to_patch | ||
| 160 | + | ||
| 161 | + # discard lines before the diff | ||
| 162 | + lines = patch.split("\n") | ||
| 163 | + while !lines.first.start_with?("diff --git") do | ||
| 164 | + lines.shift | ||
| 165 | + end | ||
| 166 | + lines.join("\n") | ||
| 167 | + end | ||
| 153 | end | 168 | end |