gitrb 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/gitrb.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'gitrb'
3
- s.version = '0.1.8'
3
+ s.version = '0.1.9'
4
4
  s.summary = 'Pure ruby git implementation'
5
5
  s.author = 'Daniel Mendler'
6
6
  s.email = 'mail@daniel-mendler.de'
data/lib/gitrb/blob.rb CHANGED
@@ -3,13 +3,40 @@ module Gitrb
3
3
  # This class stores the raw string data of a blob
4
4
  class Blob < GitObject
5
5
 
6
- attr_accessor :data, :mode
6
+ attr_reader :data, :mode
7
7
 
8
8
  # Initialize a Blob
9
9
  def initialize(options = {})
10
10
  super(options)
11
11
  @data = options[:data]
12
12
  @mode = options[:mode] || 0100644
13
+ @modified = true if !id
14
+ end
15
+
16
+ def modified?
17
+ @modified
18
+ end
19
+
20
+ # Set mode
21
+ def mode=(mode)
22
+ if mode != @mode
23
+ @mode = mode
24
+ @modified = true
25
+ end
26
+ end
27
+
28
+ # Set data
29
+ def data=(data)
30
+ if data != @data
31
+ @data = data
32
+ @modified = true
33
+ end
34
+ end
35
+
36
+ # Set new repository (modified flag is reset)
37
+ def id=(id)
38
+ @modified = false
39
+ super
13
40
  end
14
41
 
15
42
  def type
data/lib/gitrb/tree.rb CHANGED
@@ -3,7 +3,8 @@ module Gitrb
3
3
  class Tree < GitObject
4
4
  include Enumerable
5
5
 
6
- attr_accessor :mode, :repository
6
+ attr_accessor :repository
7
+ attr_reader :mode
7
8
 
8
9
  # Initialize a tree
9
10
  def initialize(options = {})
@@ -18,6 +19,14 @@ module Gitrb
18
19
  :tree
19
20
  end
20
21
 
22
+ # Set mode
23
+ def mode=(mode)
24
+ if mode != @mode
25
+ @mode = mode
26
+ @modified = true
27
+ end
28
+ end
29
+
21
30
  # Set new repository (modified flag is reset)
22
31
  def id=(id)
23
32
  @modified = false
@@ -26,7 +35,7 @@ module Gitrb
26
35
 
27
36
  # Has this tree been modified?
28
37
  def modified?
29
- @modified || @children.values.any? { |entry| entry.type == :tree && entry.modified? }
38
+ @modified || @children.values.any? { |entry| entry.modified? }
30
39
  end
31
40
 
32
41
  def dump
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 8
9
- version: 0.1.8
8
+ - 9
9
+ version: 0.1.9
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Mendler