git-dag 0.0.3 → 0.0.4
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/git-dag.rb +2 -0
- data/lib/git-dag/git_graph.rb +15 -0
- data/lib/git-dag/legend.rb +34 -0
- data/lib/git-dag/tag_node.rb +10 -0
- data/lib/git-dag/version.rb +1 -1
- data/test/integ/git_graph_test.rb +29 -0
- metadata +4 -2
data/Gemfile.lock
CHANGED
data/lib/git-dag.rb
CHANGED
data/lib/git-dag/git_graph.rb
CHANGED
@@ -9,6 +9,7 @@ module GitDag
|
|
9
9
|
|
10
10
|
def output_dot_file
|
11
11
|
all_commits = build_entire_graph
|
12
|
+
add_tag_nodes(all_commits)
|
12
13
|
get_dot_str(all_commits)
|
13
14
|
end
|
14
15
|
|
@@ -21,6 +22,8 @@ module GitDag
|
|
21
22
|
end
|
22
23
|
dot_str << %Q(#{node.dot_node} #{node.label};\n)
|
23
24
|
end
|
25
|
+
dot_str << Legend.dot_output
|
26
|
+
|
24
27
|
dot_str << "}\n"
|
25
28
|
end
|
26
29
|
|
@@ -46,6 +49,18 @@ module GitDag
|
|
46
49
|
all_commits
|
47
50
|
end
|
48
51
|
|
52
|
+
def add_tag_nodes(all_commits)
|
53
|
+
@repo.tags.each do |tag|
|
54
|
+
commit = tag.commit
|
55
|
+
parent_commit = all_commits.find {|id, c| id == commit.id}[1]
|
56
|
+
id = tag.name
|
57
|
+
dot_node = %Q("#{tag.name}")
|
58
|
+
label = %Q([color="green" shape=circle])
|
59
|
+
tag_node = TagNode.new(id, dot_node, label, [parent_commit])
|
60
|
+
all_commits[tag_node.id] = tag_node
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
49
64
|
def create_fake_commit_for_head(branch_name, parent)
|
50
65
|
id = branch_name
|
51
66
|
dot_node = %Q("#{branch_name}")
|
@@ -0,0 +1,34 @@
|
|
1
|
+
TEMPLATE = <<HERE
|
2
|
+
{ rank = same;
|
3
|
+
Legend [shape=none, margin=0, label=<
|
4
|
+
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
5
|
+
<TR>
|
6
|
+
<TD COLSPAN="2" BGCOLOR="grey"><B>Legend</B></TD>
|
7
|
+
</TR>
|
8
|
+
<TR>
|
9
|
+
<TD><FONT COLOR="black">ellipse</FONT></TD>
|
10
|
+
<TD>regular commit</TD>
|
11
|
+
</TR>
|
12
|
+
<TR>
|
13
|
+
<TD><FONT COLOR="red">ellipse</FONT></TD>
|
14
|
+
<TD>merge commit</TD>
|
15
|
+
</TR>
|
16
|
+
<TR>
|
17
|
+
<TD><FONT COLOR="blue">box</FONT></TD>
|
18
|
+
<TD>branch</TD>
|
19
|
+
</TR>
|
20
|
+
<TR>
|
21
|
+
<TD><FONT COLOR="green">circle</FONT></TD>
|
22
|
+
<TD>tag</TD>
|
23
|
+
</TR>
|
24
|
+
</TABLE>
|
25
|
+
>];
|
26
|
+
}
|
27
|
+
HERE
|
28
|
+
module GitDag
|
29
|
+
module Legend
|
30
|
+
def self.dot_output
|
31
|
+
TEMPLATE
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/git-dag/version.rb
CHANGED
@@ -32,6 +32,35 @@ digraph G {
|
|
32
32
|
"dev" [color="blue" shape=box];
|
33
33
|
"master" -> "8b61ae";
|
34
34
|
"master" [color="blue" shape=box];
|
35
|
+
"0.0.1" -> "c554da";
|
36
|
+
"0.0.1" [color="green" shape=circle];
|
37
|
+
"0.0.2" -> "37f6a9";
|
38
|
+
"0.0.2" [color="green" shape=circle];
|
39
|
+
{ rank = same;
|
40
|
+
Legend [shape=none, margin=0, label=<
|
41
|
+
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
42
|
+
<TR>
|
43
|
+
<TD COLSPAN="2" BGCOLOR="grey"><B>Legend</B></TD>
|
44
|
+
</TR>
|
45
|
+
<TR>
|
46
|
+
<TD><FONT COLOR="black">ellipse</FONT></TD>
|
47
|
+
<TD>regular commit</TD>
|
48
|
+
</TR>
|
49
|
+
<TR>
|
50
|
+
<TD><FONT COLOR="red">ellipse</FONT></TD>
|
51
|
+
<TD>merge commit</TD>
|
52
|
+
</TR>
|
53
|
+
<TR>
|
54
|
+
<TD><FONT COLOR="blue">box</FONT></TD>
|
55
|
+
<TD>branch</TD>
|
56
|
+
</TR>
|
57
|
+
<TR>
|
58
|
+
<TD><FONT COLOR="green">circle</FONT></TD>
|
59
|
+
<TD>tag</TD>
|
60
|
+
</TR>
|
61
|
+
</TABLE>
|
62
|
+
>];
|
63
|
+
}
|
35
64
|
}
|
36
65
|
HERE
|
37
66
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-dag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: grit
|
@@ -48,7 +48,9 @@ files:
|
|
48
48
|
- lib/git-dag/commit_node.rb
|
49
49
|
- lib/git-dag/fake_head.rb
|
50
50
|
- lib/git-dag/git_graph.rb
|
51
|
+
- lib/git-dag/legend.rb
|
51
52
|
- lib/git-dag/node.rb
|
53
|
+
- lib/git-dag/tag_node.rb
|
52
54
|
- lib/git-dag/version.rb
|
53
55
|
- test/integ/git_graph_test.rb
|
54
56
|
- test/test_helper.rb
|