capillary 0.1.2 → 0.1.3
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/Gemfile.lock +1 -1
- data/lib/capillary/log_parser.rb +6 -2
- data/lib/capillary/version.rb +1 -1
- data/test/capillary/log_parser_test.rb +24 -0
- data/test/fixtures/simple_graph_no_ff.txt +3 -0
- metadata +5 -4
data/Gemfile.lock
CHANGED
data/lib/capillary/log_parser.rb
CHANGED
@@ -25,15 +25,19 @@ module Capillary
|
|
25
25
|
def initialize
|
26
26
|
@commit_count = 0
|
27
27
|
@branches = []
|
28
|
+
@seq_ids = {}
|
28
29
|
end
|
29
30
|
|
30
31
|
def <<(commit)
|
31
32
|
commit = Capillary::Commit.parse(commit) if String === commit
|
33
|
+
seq_id = @commit_count
|
34
|
+
@commit_count += 1
|
32
35
|
|
33
36
|
commit.parent_ids.each do |parent_id|
|
34
|
-
place_commit(CommitNode.new(
|
35
|
-
@commit_count += 1
|
37
|
+
place_commit(CommitNode.new(seq_id, commit, parent_id))
|
36
38
|
end
|
39
|
+
|
40
|
+
place_commit(CommitNode.new(seq_id, commit, nil)) if commit.parent_ids.empty?
|
37
41
|
end
|
38
42
|
|
39
43
|
def to_json
|
data/lib/capillary/version.rb
CHANGED
@@ -104,6 +104,30 @@ class LogParserTest < MiniTest::Spec
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
107
|
+
#
|
108
|
+
# 0
|
109
|
+
# |\
|
110
|
+
# | 0
|
111
|
+
# |/
|
112
|
+
# 0
|
113
|
+
context "sequence ids" do
|
114
|
+
should "use same sequence id for merge commit in all affected branches" do
|
115
|
+
fixtures = fixture("simple_graph_no_ff.txt").split("\n")
|
116
|
+
log = Capillary::LogParser.new
|
117
|
+
fixtures.reject { |f| f.strip == "" }.each { |f| log << f }
|
118
|
+
master, refactor = log.branches
|
119
|
+
|
120
|
+
assert_equal 2, log.branches.length
|
121
|
+
assert_equal 2, master.length
|
122
|
+
assert_equal 3, refactor.length
|
123
|
+
assert_equal 0, master[0].seq_id
|
124
|
+
assert_equal 2, master[1].seq_id
|
125
|
+
assert_equal 0, refactor[0].seq_id
|
126
|
+
assert_equal 1, refactor[1].seq_id
|
127
|
+
assert_equal 2, refactor[2].seq_id
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
107
131
|
#
|
108
132
|
# 0
|
109
133
|
# |\
|
@@ -0,0 +1,3 @@
|
|
1
|
+
ca21fc1c48ad049d6900fce0e827bd827bd06331§04b91a0e021a4d9ac0658112d068262719d805e3 b950dbb37df3013bb8547f2b88071a0f872639e5§Fri Jul 15 10:19:40 2011 +0200§christian@gitorious.org§ (HEAD, master)§Merge branch 'branch2'§
|
2
|
+
b950dbb37df3013bb8547f2b88071a0f872639e5§04b91a0e021a4d9ac0658112d068262719d805e3§Fri Jul 15 10:19:34 2011 +0200§christian@gitorious.org§ (branch2)§Commit #2§
|
3
|
+
04b91a0e021a4d9ac0658112d068262719d805e3§§Fri Jul 15 10:19:22 2011 +0200§christian@gitorious.org§§Initial commit§
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capillary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marius Mathiesen
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-07-
|
19
|
+
date: 2011-07-15 00:00:00 +02:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -92,6 +92,7 @@ files:
|
|
92
92
|
- test/fixtures/complex_graph_no_ff.txt
|
93
93
|
- test/fixtures/first_commit.txt
|
94
94
|
- test/fixtures/parent_commit.txt
|
95
|
+
- test/fixtures/simple_graph_no_ff.txt
|
95
96
|
- test/fixtures/third_commit.txt
|
96
97
|
- test/fixtures/two_merged_branches.txt
|
97
98
|
- test/test_helper.rb
|