rjgit 0.3.8 → 0.3.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/commit.rb +29 -3
  3. data/lib/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f8f94f2128a3ee824c892fc4c2c6d9be1ba6de0
4
- data.tar.gz: 2a9f7160306fbae9ab4995d9d5216906c35f070a
3
+ metadata.gz: 85c0a3a90f26f105a97cc8c2e8c1635102f5ea47
4
+ data.tar.gz: 653c8baf0fc37d38abbdd142247419a91e1def7d
5
5
  SHA512:
6
- metadata.gz: a3d13231efffbec59d78cb0225dfea6a8e4d03f18a526949f503192075acc80a978317bb8803cc20b771de0c72e74f131550aaf862674f422b0f555d8e6f80a5
7
- data.tar.gz: ea070846441ec20a6c9eb3cdde196886c5f3ea6f34b7b5c4412ca657fbb76f3d9b3f2184778c18f6b71edc49ae8b9d8c1fb465e94b596801635d65e687b39ee7
6
+ metadata.gz: 37fcd607f511dfe10409215b850b07c035771a9fa5067a2af45669d0c7e199388c403d954aae10493c116c6150cadf31a9bed0f5dd2c1153f91ca28f5dc649d8
7
+ data.tar.gz: cb431171a963dd00b98fc25b05890c29db6d2dfd0fed90a06618af8af216826f328ef86c3903e3985a6b1d6500f270afa501293b22b01db56e48c1cecf121707
data/lib/commit.rb CHANGED
@@ -2,6 +2,8 @@ module RJGit
2
2
 
3
3
  import 'org.eclipse.jgit.revwalk.RevWalk'
4
4
  import 'org.eclipse.jgit.revwalk.RevCommit'
5
+ import 'org.eclipse.jgit.diff.DiffFormatter'
6
+ import 'org.eclipse.jgit.util.io.DisabledOutputStream'
5
7
 
6
8
  class Commit
7
9
 
@@ -38,7 +40,32 @@ module RJGit
38
40
  def parents
39
41
  @parents ||= @jcommit.get_parents.map {|parent| Commit.new(@jrepo, parent)}
40
42
  end
41
-
43
+
44
+ def stats
45
+ df = DiffFormatter.new(DisabledOutputStream::INSTANCE)
46
+ df.set_repository(@jrepo)
47
+ df.set_context(0)
48
+ entries = df.scan(@jcommit.get_parents[0], @jcommit)
49
+ results = {}
50
+ total_del = 0
51
+ total_ins = 0
52
+ entries.each do |entry|
53
+ file = df.toFileHeader(entry)
54
+ del = 0
55
+ ins = 0
56
+ file.getHunks.each do |hunk|
57
+ hunk.toEditList.each do |edit|
58
+ del += edit.getEndA - edit.getBeginA
59
+ ins += edit.getEndB - edit.getBeginB
60
+ end
61
+ end
62
+ total_del += del
63
+ total_ins += ins
64
+ results[file.getNewPath] = [ins, del, ins + del]
65
+ end
66
+ return total_ins, total_del, results
67
+ end
68
+
42
69
  # Pass an empty array for parents if the commit should have no parents
43
70
  def self.new_with_tree(repository, tree, message, actor, parents = nil)
44
71
  repository = RJGit.repository_type(repository)
@@ -76,7 +103,6 @@ module RJGit
76
103
 
77
104
  def self.diff(repo, a, b = nil, paths = [], options = {})
78
105
  end
79
-
80
-
106
+
81
107
  end
82
108
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RJGit
2
- VERSION = "0.3.8"
2
+ VERSION = "0.3.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rjgit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
4
+ version: 0.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maarten Engelen