git-db 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/git-db.gemspec +9 -4
- data/lib/git-db.rb +1 -1
- data/lib/git-db/commands/receive-pack.rb +5 -1
- data/lib/git-db/objects/commit.rb +14 -14
- data/lib/git-db/objects/tree.rb +10 -10
- data/lib/git-db/protocol.rb +17 -14
- data/spec/git-db/objects/blob_spec.rb +18 -0
- data/spec/git-db/objects/commit_spec.rb +65 -0
- data/spec/git-db/objects/entry_spec.rb +1 -0
- data/spec/git-db/objects/tag_spec.rb +1 -0
- data/spec/git-db/objects/tree_spec.rb +6 -5
- data/spec/git-db/objects_spec.rb +28 -0
- data/spec/git-db/protocol_spec.rb +135 -0
- data/spec/git-db_spec.rb +37 -6
- metadata +9 -4
- data/features/git-db.feature +0 -9
- data/features/step_definitions/git-db_steps.rb +0 -0
- data/features/support/env.rb +0 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/git-db.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{git-db}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David Dollar"]
|
@@ -26,9 +26,6 @@ Gem::Specification.new do |s|
|
|
26
26
|
"Rakefile",
|
27
27
|
"VERSION",
|
28
28
|
"bin/git-db",
|
29
|
-
"features/git-db.feature",
|
30
|
-
"features/step_definitions/git-db_steps.rb",
|
31
|
-
"features/support/env.rb",
|
32
29
|
"git-db.gemspec",
|
33
30
|
"lib/git-db.rb",
|
34
31
|
"lib/git-db/commands.rb",
|
@@ -48,9 +45,13 @@ Gem::Specification.new do |s|
|
|
48
45
|
"lib/git-db/utility/counting_io.rb",
|
49
46
|
"spec/git-db/commands_spec.rb",
|
50
47
|
"spec/git-db/objects/base_spec.rb",
|
48
|
+
"spec/git-db/objects/blob_spec.rb",
|
49
|
+
"spec/git-db/objects/commit_spec.rb",
|
51
50
|
"spec/git-db/objects/entry_spec.rb",
|
52
51
|
"spec/git-db/objects/tag_spec.rb",
|
53
52
|
"spec/git-db/objects/tree_spec.rb",
|
53
|
+
"spec/git-db/objects_spec.rb",
|
54
|
+
"spec/git-db/protocol_spec.rb",
|
54
55
|
"spec/git-db/utility/counting_io_spec.rb",
|
55
56
|
"spec/git-db_spec.rb",
|
56
57
|
"spec/rcov.opts",
|
@@ -65,9 +66,13 @@ Gem::Specification.new do |s|
|
|
65
66
|
s.test_files = [
|
66
67
|
"spec/git-db/commands_spec.rb",
|
67
68
|
"spec/git-db/objects/base_spec.rb",
|
69
|
+
"spec/git-db/objects/blob_spec.rb",
|
70
|
+
"spec/git-db/objects/commit_spec.rb",
|
68
71
|
"spec/git-db/objects/entry_spec.rb",
|
69
72
|
"spec/git-db/objects/tag_spec.rb",
|
70
73
|
"spec/git-db/objects/tree_spec.rb",
|
74
|
+
"spec/git-db/objects_spec.rb",
|
75
|
+
"spec/git-db/protocol_spec.rb",
|
71
76
|
"spec/git-db/utility/counting_io_spec.rb",
|
72
77
|
"spec/git-db_spec.rb",
|
73
78
|
"spec/spec_helper.rb"
|
data/lib/git-db.rb
CHANGED
@@ -37,7 +37,11 @@ class GitDB::Commands::ReceivePack
|
|
37
37
|
|
38
38
|
unless new_shas.reject { |sha| sha == GitDB.null_sha1 }.length.zero?
|
39
39
|
while (entries = io.read_pack)
|
40
|
-
|
40
|
+
|
41
|
+
# bulk in 50 at a time
|
42
|
+
while (page = entries.shift(50)).length > 0
|
43
|
+
database.write_objects(page)
|
44
|
+
end
|
41
45
|
end
|
42
46
|
end
|
43
47
|
|
@@ -1,16 +1,4 @@
|
|
1
1
|
class GitDB::Objects::Commit < GitDB::Objects::Base
|
2
|
-
|
3
|
-
def raw
|
4
|
-
"commit #{data.length}\000#{data}"
|
5
|
-
end
|
6
|
-
|
7
|
-
def type
|
8
|
-
GitDB::OBJ_COMMIT
|
9
|
-
end
|
10
|
-
|
11
|
-
def message
|
12
|
-
data.split("\n\n", 2).last
|
13
|
-
end
|
14
2
|
|
15
3
|
def author
|
16
4
|
attributes['author'].first
|
@@ -20,8 +8,8 @@ class GitDB::Objects::Commit < GitDB::Objects::Base
|
|
20
8
|
attributes['committer'].first
|
21
9
|
end
|
22
10
|
|
23
|
-
def
|
24
|
-
|
11
|
+
def message
|
12
|
+
data.split("\n\n", 2).last
|
25
13
|
end
|
26
14
|
|
27
15
|
def parents
|
@@ -32,6 +20,18 @@ class GitDB::Objects::Commit < GitDB::Objects::Base
|
|
32
20
|
[:tree, :parents, :author, :committer, :message]
|
33
21
|
end
|
34
22
|
|
23
|
+
def raw
|
24
|
+
"commit #{data.length}\000#{data}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def type
|
28
|
+
GitDB::OBJ_COMMIT
|
29
|
+
end
|
30
|
+
|
31
|
+
def tree
|
32
|
+
attributes['tree'].first
|
33
|
+
end
|
34
|
+
|
35
35
|
private ######################################################################
|
36
36
|
|
37
37
|
def attributes
|
data/lib/git-db/objects/tree.rb
CHANGED
@@ -2,18 +2,18 @@ require 'stringio'
|
|
2
2
|
|
3
3
|
class GitDB::Objects::Tree < GitDB::Objects::Base
|
4
4
|
|
5
|
-
# TODO: memoize entries
|
6
|
-
|
7
5
|
def entries
|
8
|
-
entries
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
6
|
+
@entries ||= begin
|
7
|
+
entries = []
|
8
|
+
stream = StringIO.new(data)
|
9
|
+
until stream.eof?
|
10
|
+
perms = read_until(stream, ' ').to_i
|
11
|
+
name = read_until(stream, 0.chr)
|
12
|
+
sha = GitDB.sha1_to_hex(stream.read(20))
|
13
|
+
entries << GitDB::Objects::Entry.new(sha, perms, name)
|
14
|
+
end
|
15
|
+
entries
|
15
16
|
end
|
16
|
-
entries
|
17
17
|
end
|
18
18
|
|
19
19
|
def properties
|
data/lib/git-db/protocol.rb
CHANGED
@@ -20,22 +20,30 @@ class GitDB::Protocol
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def read_command
|
23
|
+
# length is stored in the first 4 bytes
|
23
24
|
length = reader.read(4)
|
24
25
|
return nil unless length
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
|
27
|
+
# length is stored as hex, convert back to decimal and return if it's 0
|
28
|
+
length = length.to_i(16)
|
29
|
+
return if length.zero?
|
30
|
+
|
31
|
+
# length includes the 4 bytes of the length itself, subtract for data
|
32
|
+
length -= 4
|
33
|
+
|
34
|
+
# read and return the data
|
30
35
|
data = reader.read(length)
|
31
|
-
GitDB.log("
|
36
|
+
GitDB.log("RECEIVED COMMAND: #{data.inspect}")
|
32
37
|
data
|
33
38
|
end
|
34
39
|
|
35
40
|
def write_command(command)
|
36
|
-
|
37
|
-
|
38
|
-
|
41
|
+
# output the length
|
42
|
+
writer.print length_as_hex(command)
|
43
|
+
|
44
|
+
# output the data
|
45
|
+
GitDB.log("SENDING COMMAND: #{command.inspect}")
|
46
|
+
writer.print command
|
39
47
|
writer.flush
|
40
48
|
end
|
41
49
|
|
@@ -45,7 +53,6 @@ class GitDB::Protocol
|
|
45
53
|
end
|
46
54
|
|
47
55
|
def write_eof
|
48
|
-
#GitDB.log("WRITING EOF")
|
49
56
|
writer.print '0000'
|
50
57
|
writer.flush
|
51
58
|
end
|
@@ -62,10 +69,6 @@ class GitDB::Protocol
|
|
62
69
|
|
63
70
|
private ######################################################################
|
64
71
|
|
65
|
-
def encode_command(command)
|
66
|
-
length_as_hex(command) << command
|
67
|
-
end
|
68
|
-
|
69
72
|
def length_as_hex(command)
|
70
73
|
hex = (command.length + 4).to_s(16).rjust(4, '0')
|
71
74
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe "GitDB::Objects::Blob" do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@data = "test blob"
|
7
|
+
@blob = GitDB::Objects::Blob.new(@data)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "has a raw value" do
|
11
|
+
@blob.raw.should == "blob #{@data.length}\000#{@data}"
|
12
|
+
end
|
13
|
+
|
14
|
+
it "has a type" do
|
15
|
+
@blob.type.should == GitDB::OBJ_BLOB
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe "GitDB::Objects::Commit" do
|
4
|
+
|
5
|
+
class CommitFactory
|
6
|
+
attr_accessor :tree, :parents, :author, :committer, :message
|
7
|
+
|
8
|
+
def to_data
|
9
|
+
raw = ""
|
10
|
+
raw << "tree #{tree}\n"
|
11
|
+
parents.each do |parent|
|
12
|
+
raw << "parent #{parent}\n"
|
13
|
+
end
|
14
|
+
raw << "author #{author}\n"
|
15
|
+
raw << "committer #{committer}\n"
|
16
|
+
raw << "\n"
|
17
|
+
raw << message
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
before(:each) do
|
22
|
+
@raw_commit = CommitFactory.new
|
23
|
+
@raw_commit.tree = "12a3b4d6c8d95475e3faf0e4a7c431c9609057f5"
|
24
|
+
@raw_commit.parents = ["45bef2e266991a468b02a82e7989aca680557f7b"]
|
25
|
+
@raw_commit.author = "David Dollar <ddollar@gmail.com> 1252946959 -0400"
|
26
|
+
@raw_commit.committer = "David Dollar <ddollar@gmail.com> 1252946959 -0400"
|
27
|
+
@raw_commit.message = "test message\n"
|
28
|
+
@data = @raw_commit.to_data
|
29
|
+
|
30
|
+
@commit = GitDB::Objects::Commit.new(@data)
|
31
|
+
end
|
32
|
+
|
33
|
+
it "has an author" do
|
34
|
+
@commit.author.should == @raw_commit.author
|
35
|
+
end
|
36
|
+
|
37
|
+
it "has a committer" do
|
38
|
+
@commit.committer.should == @raw_commit.committer
|
39
|
+
end
|
40
|
+
|
41
|
+
it "has a message" do
|
42
|
+
@commit.message.should == @raw_commit.message
|
43
|
+
end
|
44
|
+
|
45
|
+
it "has parents" do
|
46
|
+
@commit.parents.should == @raw_commit.parents
|
47
|
+
end
|
48
|
+
|
49
|
+
it "has properties" do
|
50
|
+
@commit.properties.should == [:tree, :parents, :author, :committer, :message]
|
51
|
+
end
|
52
|
+
|
53
|
+
it "has a raw value" do
|
54
|
+
@commit.raw.should == "commit #{@data.length}\000#{@data}"
|
55
|
+
end
|
56
|
+
|
57
|
+
it "has a tree" do
|
58
|
+
@commit.tree.should == @raw_commit.tree
|
59
|
+
end
|
60
|
+
|
61
|
+
it "has a type" do
|
62
|
+
@commit.type.should == GitDB::OBJ_COMMIT
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
2
|
|
3
3
|
describe "GitDB::Objects::Tree" do
|
4
4
|
|
5
|
-
class
|
5
|
+
class TreeEntryFactory
|
6
6
|
attr_reader :perms, :name, :sha
|
7
7
|
|
8
8
|
def initialize(perms, name, sha)
|
@@ -11,15 +11,15 @@ describe "GitDB::Objects::Tree" do
|
|
11
11
|
@sha = sha
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
14
|
+
def to_data
|
15
15
|
"#{perms} #{name}\000#{GitDB.hex_to_sha1(sha)}"
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
19
|
before(:each) do
|
20
|
-
@entry1 =
|
21
|
-
@entry2 =
|
22
|
-
@data = [ @entry1.
|
20
|
+
@entry1 = TreeEntryFactory.new(100644, "entry1", "1111111111111111111111111111111111111111")
|
21
|
+
@entry2 = TreeEntryFactory.new(100444, "entry2", "2222222222222222222222222222222222222222")
|
22
|
+
@data = [ @entry1.to_data, @entry2.to_data ].join('')
|
23
23
|
@tree = GitDB::Objects::Tree.new(@data)
|
24
24
|
end
|
25
25
|
|
@@ -39,4 +39,5 @@ describe "GitDB::Objects::Tree" do
|
|
39
39
|
it "has a type" do
|
40
40
|
@tree.type.should == GitDB::OBJ_TREE
|
41
41
|
end
|
42
|
+
|
42
43
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "GitDB::Objects" do
|
4
|
+
|
5
|
+
describe "new_from_type" do
|
6
|
+
|
7
|
+
it "can create a commit" do
|
8
|
+
GitDB::Objects.new_from_type(GitDB::OBJ_COMMIT, '').should be_a(GitDB::Objects::Commit)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "can create a tree" do
|
12
|
+
GitDB::Objects.new_from_type(GitDB::OBJ_TREE, '').should be_a(GitDB::Objects::Tree)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "can create a blob" do
|
16
|
+
GitDB::Objects.new_from_type(GitDB::OBJ_BLOB, '').should be_a(GitDB::Objects::Blob)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "can create a tag" do
|
20
|
+
GitDB::Objects.new_from_type(GitDB::OBJ_TAG, '').should be_a(GitDB::Objects::Tag)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "raises on unknown types" do
|
24
|
+
lambda { GitDB::Objects.new_from_type(-1, '') }.should raise_error
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,135 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "GitDB::Protocol" do
|
4
|
+
|
5
|
+
describe "initialize with defaults" do
|
6
|
+
before(:each) do
|
7
|
+
@protocol = GitDB::Protocol.new
|
8
|
+
end
|
9
|
+
|
10
|
+
it "uses STDIN and STDOUT when no io is specified" do
|
11
|
+
@protocol.reader.should == STDIN
|
12
|
+
@protocol.writer.should == STDOUT
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "initialize with io" do
|
17
|
+
before(:each) do
|
18
|
+
@io = StringIO.new
|
19
|
+
@protocol = GitDB::Protocol.new(@io)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "sets both reader and writer to the io" do
|
23
|
+
@protocol.reader.should == @io
|
24
|
+
@protocol.writer.should == @io
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "flush" do
|
29
|
+
before(:each) do
|
30
|
+
@io = StringIO.new
|
31
|
+
@protocol = GitDB::Protocol.new(@io)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "can flush the writer" do
|
35
|
+
@io.should_receive(:flush)
|
36
|
+
@protocol.flush
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "read_command" do
|
41
|
+
describe "valid command" do
|
42
|
+
before(:each) do
|
43
|
+
@io = StringIO.new("000bcommand")
|
44
|
+
@protocol = GitDB::Protocol.new(@io)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "reads the command" do
|
48
|
+
@protocol.read_command.should == 'command'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe "eof" do
|
53
|
+
before(:each) do
|
54
|
+
@io = StringIO.new("0000")
|
55
|
+
@protocol = GitDB::Protocol.new(@io)
|
56
|
+
end
|
57
|
+
|
58
|
+
it "returns nil" do
|
59
|
+
@protocol.read_command.should be_nil
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "write_command" do
|
65
|
+
before(:each) do
|
66
|
+
@io = StringIO.new
|
67
|
+
@protocol = GitDB::Protocol.new(@io)
|
68
|
+
end
|
69
|
+
|
70
|
+
it "writes a command" do
|
71
|
+
@protocol.write_command('command')
|
72
|
+
@io.string.should == '000bcommand'
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe "write" do
|
77
|
+
before(:each) do
|
78
|
+
@io = StringIO.new
|
79
|
+
@protocol = GitDB::Protocol.new(@io)
|
80
|
+
@data = "test data"
|
81
|
+
end
|
82
|
+
|
83
|
+
it "can write" do
|
84
|
+
@io.should_receive(:write).with(@data)
|
85
|
+
@protocol.write(@data)
|
86
|
+
end
|
87
|
+
|
88
|
+
it "flushes after write" do
|
89
|
+
@io.should_receive(:flush)
|
90
|
+
@protocol.write(@data)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
describe "write_eof" do
|
95
|
+
before(:each) do
|
96
|
+
@io = StringIO.new
|
97
|
+
@protocol = GitDB::Protocol.new(@io)
|
98
|
+
end
|
99
|
+
|
100
|
+
it "writes eof" do
|
101
|
+
@io.should_receive(:write).with("0000")
|
102
|
+
@protocol.write_eof
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
describe "read_pack" do
|
107
|
+
before(:each) do
|
108
|
+
@io = StringIO.new
|
109
|
+
@protocol = GitDB::Protocol.new(@io)
|
110
|
+
@pack = mock(GitDB::Pack)
|
111
|
+
end
|
112
|
+
|
113
|
+
it "uses GitDB::Pack to read a pack object" do
|
114
|
+
GitDB::Pack.should_receive(:new).with(@io).and_return(@pack)
|
115
|
+
@pack.should_receive(:read)
|
116
|
+
@protocol.read_pack
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe "write_pack" do
|
121
|
+
before(:each) do
|
122
|
+
@io = StringIO.new
|
123
|
+
@protocol = GitDB::Protocol.new(@io)
|
124
|
+
@pack = mock(GitDB::Pack)
|
125
|
+
@entries = []
|
126
|
+
end
|
127
|
+
|
128
|
+
it "uses GitDB::Pack to write a pack object" do
|
129
|
+
GitDB::Pack.should_receive(:new).with(@io).and_return(@pack)
|
130
|
+
@pack.should_receive(:write).with(@entries)
|
131
|
+
@protocol.write_pack(@entries)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
data/spec/git-db_spec.rb
CHANGED
@@ -21,14 +21,45 @@ describe "GitDB" do
|
|
21
21
|
GitDB.logger.should respond_to(:puts)
|
22
22
|
end
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
describe "with DEBUG" do
|
25
|
+
before(:each) do
|
26
|
+
@old_debug = ENV["DEBUG"]
|
27
|
+
ENV["DEBUG"] = "1"
|
28
|
+
end
|
27
29
|
|
28
|
-
|
29
|
-
|
30
|
+
after(:each) do
|
31
|
+
ENV["DEBUG"] = @old_debug
|
32
|
+
end
|
30
33
|
|
31
|
-
|
34
|
+
it "logs messages sent to log" do
|
35
|
+
@logger = mock(Logger)
|
36
|
+
@message = "Log This"
|
37
|
+
|
38
|
+
GitDB.should_receive(:logger).and_return(@logger)
|
39
|
+
@logger.should_receive(:puts).with(@message)
|
40
|
+
|
41
|
+
GitDB.log(@message)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe "without DEBUG" do
|
46
|
+
before(:each) do
|
47
|
+
@old_debug = ENV["DEBUG"]
|
48
|
+
ENV["DEBUG"] = nil
|
49
|
+
end
|
50
|
+
|
51
|
+
after(:each) do
|
52
|
+
ENV["DEBUG"] = @old_debug
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should not log messages sent to log" do
|
56
|
+
@logger = mock(Logger)
|
57
|
+
@message = "Log This"
|
58
|
+
|
59
|
+
GitDB.should_not_receive(:logger)
|
60
|
+
|
61
|
+
GitDB.log(@message)
|
62
|
+
end
|
32
63
|
end
|
33
64
|
end
|
34
65
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Dollar
|
@@ -49,9 +49,6 @@ files:
|
|
49
49
|
- Rakefile
|
50
50
|
- VERSION
|
51
51
|
- bin/git-db
|
52
|
-
- features/git-db.feature
|
53
|
-
- features/step_definitions/git-db_steps.rb
|
54
|
-
- features/support/env.rb
|
55
52
|
- git-db.gemspec
|
56
53
|
- lib/git-db.rb
|
57
54
|
- lib/git-db/commands.rb
|
@@ -71,9 +68,13 @@ files:
|
|
71
68
|
- lib/git-db/utility/counting_io.rb
|
72
69
|
- spec/git-db/commands_spec.rb
|
73
70
|
- spec/git-db/objects/base_spec.rb
|
71
|
+
- spec/git-db/objects/blob_spec.rb
|
72
|
+
- spec/git-db/objects/commit_spec.rb
|
74
73
|
- spec/git-db/objects/entry_spec.rb
|
75
74
|
- spec/git-db/objects/tag_spec.rb
|
76
75
|
- spec/git-db/objects/tree_spec.rb
|
76
|
+
- spec/git-db/objects_spec.rb
|
77
|
+
- spec/git-db/protocol_spec.rb
|
77
78
|
- spec/git-db/utility/counting_io_spec.rb
|
78
79
|
- spec/git-db_spec.rb
|
79
80
|
- spec/rcov.opts
|
@@ -110,9 +111,13 @@ summary: Database-based git server
|
|
110
111
|
test_files:
|
111
112
|
- spec/git-db/commands_spec.rb
|
112
113
|
- spec/git-db/objects/base_spec.rb
|
114
|
+
- spec/git-db/objects/blob_spec.rb
|
115
|
+
- spec/git-db/objects/commit_spec.rb
|
113
116
|
- spec/git-db/objects/entry_spec.rb
|
114
117
|
- spec/git-db/objects/tag_spec.rb
|
115
118
|
- spec/git-db/objects/tree_spec.rb
|
119
|
+
- spec/git-db/objects_spec.rb
|
120
|
+
- spec/git-db/protocol_spec.rb
|
116
121
|
- spec/git-db/utility/counting_io_spec.rb
|
117
122
|
- spec/git-db_spec.rb
|
118
123
|
- spec/spec_helper.rb
|
data/features/git-db.feature
DELETED
File without changes
|
data/features/support/env.rb
DELETED