yggdrasil 0.0.0 → 0.0.1
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/LICENSE +1 -1
- data/README.md +49 -8
- data/Rakefile +8 -0
- data/bin/yggdrasil +3 -1
- data/lib/yggdrasil/add.rb +25 -0
- data/lib/yggdrasil/cleanup.rb +19 -0
- data/lib/yggdrasil/commit.rb +34 -0
- data/lib/yggdrasil/diff.rb +29 -0
- data/lib/yggdrasil/help.rb +190 -0
- data/lib/yggdrasil/init.rb +83 -0
- data/lib/yggdrasil/list.rb +34 -0
- data/lib/yggdrasil/log.rb +34 -0
- data/lib/yggdrasil/revert.rb +47 -0
- data/lib/yggdrasil/status.rb +30 -0
- data/lib/yggdrasil/update.rb +62 -0
- data/lib/yggdrasil/version.rb +13 -2
- data/lib/yggdrasil.rb +242 -2
- data/spec/add_spec.rb +25 -0
- data/spec/cleanup_spec.rb +23 -0
- data/spec/commit_spec.rb +129 -0
- data/spec/diff_spec.rb +104 -0
- data/spec/help_spec.rb +269 -0
- data/spec/init_spec.rb +80 -0
- data/spec/list_spec.rb +45 -0
- data/spec/log_spec.rb +114 -0
- data/spec/revert_spec.rb +127 -0
- data/spec/spec_helper.rb +54 -0
- data/spec/status_spec.rb +59 -0
- data/spec/update_spec.rb +72 -0
- data/spec/version_spec.rb +24 -0
- data/yggdrasil.gemspec +8 -5
- metadata +82 -7
data/spec/status_spec.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe Yggdrasil, "status" do
|
4
|
+
it '-------- status' do
|
5
|
+
puts '-------- status'
|
6
|
+
prepare_environment
|
7
|
+
init_yggdrasil
|
8
|
+
|
9
|
+
# modify and not commit yet
|
10
|
+
`echo HOGE >> /tmp/yggdrasil-test/A`
|
11
|
+
`rm -f /tmp/yggdrasil-test/B`
|
12
|
+
`mkdir /tmp/yggdrasil-test/c`
|
13
|
+
`echo bar > /tmp/yggdrasil-test/c/C`
|
14
|
+
Yggdrasil.command %w{add /tmp/yggdrasil-test/c/C}
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should show status(absolute and relative)' do
|
18
|
+
puts "---- should show status(absolute and relative)"
|
19
|
+
out = catch_stdout do
|
20
|
+
FileUtils.cd "/tmp/yggdrasil-test" do
|
21
|
+
Yggdrasil.command %w{status /tmp/yggdrasil-test/A B --username hoge --password foo}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
out.should == <<"EOS"
|
25
|
+
M 3 tmp/yggdrasil-test/A
|
26
|
+
D 3 tmp/yggdrasil-test/B
|
27
|
+
EOS
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should show status(/)' do
|
31
|
+
puts "---- should show status(/)"
|
32
|
+
out = catch_stdout do
|
33
|
+
FileUtils.cd "/tmp/yggdrasil-test" do
|
34
|
+
Yggdrasil.command %w{status / --username hoge --password foo}
|
35
|
+
end
|
36
|
+
end
|
37
|
+
out.should == <<"EOS"
|
38
|
+
M 3 tmp/yggdrasil-test/A
|
39
|
+
D 3 tmp/yggdrasil-test/B
|
40
|
+
A 0 tmp/yggdrasil-test/c/C
|
41
|
+
A 0 tmp/yggdrasil-test/c
|
42
|
+
EOS
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'should show status (no path)' do
|
46
|
+
puts "---- should show status (no path)"
|
47
|
+
out = catch_stdout do
|
48
|
+
FileUtils.cd "/tmp/yggdrasil-test" do
|
49
|
+
Yggdrasil.command %w{status --username hoge --password foo}
|
50
|
+
end
|
51
|
+
end
|
52
|
+
out.should == <<"EOS"
|
53
|
+
M 3 tmp/yggdrasil-test/A
|
54
|
+
D 3 tmp/yggdrasil-test/B
|
55
|
+
A 0 tmp/yggdrasil-test/c/C
|
56
|
+
A 0 tmp/yggdrasil-test/c
|
57
|
+
EOS
|
58
|
+
end
|
59
|
+
end
|
data/spec/update_spec.rb
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe Yggdrasil, "update" do
|
4
|
+
it '-------- update' do
|
5
|
+
puts '-------- update'
|
6
|
+
prepare_environment
|
7
|
+
init_yggdrasil
|
8
|
+
|
9
|
+
puts '-- make another working copy'
|
10
|
+
puts `svn co file:///tmp/yggdrasil-test/svn-repo/mng-repo/host-name /tmp/yggdrasil-test/svn-work`
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should success update (related/absolute path)' do
|
14
|
+
puts '---- should success update (related/absolute path)'
|
15
|
+
puts '-- commit on another working copy'
|
16
|
+
`echo A:related/absolute path > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/A`
|
17
|
+
`echo B:related/absolute path > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/B`
|
18
|
+
`svn commit -m 'another commit' /tmp/yggdrasil-test/svn-work/`
|
19
|
+
|
20
|
+
FileUtils.cd '/tmp/yggdrasil-test' do
|
21
|
+
Yggdrasil.command %w{update A /tmp/yggdrasil-test/B} +
|
22
|
+
%w{--username hoge --password foo},
|
23
|
+
"0\nY\n"
|
24
|
+
end
|
25
|
+
`cat /tmp/yggdrasil-test/A`.should == "A:related/absolute path\n"
|
26
|
+
`cat /tmp/yggdrasil-test/B`.should == "B:related/absolute path\n"
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should success update (only one file)' do
|
30
|
+
puts '---- should success update (only one file)'
|
31
|
+
|
32
|
+
puts '-- commit on another working copy'
|
33
|
+
`echo A:only one file > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/A`
|
34
|
+
`echo B:only one file > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/B`
|
35
|
+
`svn commit -m 'another commit' /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test`
|
36
|
+
|
37
|
+
Yggdrasil.command %w{update /tmp/yggdrasil-test/A} +
|
38
|
+
%w{--username hoge --password foo --non-interactive}
|
39
|
+
|
40
|
+
`cat /tmp/yggdrasil-test/A`.should == "A:only one file\n"
|
41
|
+
`cat /tmp/yggdrasil-test/B`.should == "B:related/absolute path\n"
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should success update (parent path)' do
|
45
|
+
puts '---- should success update (parent path)'
|
46
|
+
puts '-- commit on another working copy'
|
47
|
+
`echo A:parent path > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/A`
|
48
|
+
`echo B:parent path > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/B`
|
49
|
+
`svn commit -m 'another commit' /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test`
|
50
|
+
|
51
|
+
Yggdrasil.command %w{update /tmp} +
|
52
|
+
%w{--username hoge --password foo},
|
53
|
+
"1\nY\n"
|
54
|
+
`cat /tmp/yggdrasil-test/A`.should == "A:parent path\n"
|
55
|
+
`cat /tmp/yggdrasil-test/B`.should == "B:parent path\n"
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'should success update (no path)' do
|
59
|
+
puts '---- should success update (no path)'
|
60
|
+
puts '-- commit on another working copy'
|
61
|
+
`echo A:no path > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/A`
|
62
|
+
`echo B:no path > /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test/B`
|
63
|
+
`svn commit -m 'another commit' /tmp/yggdrasil-test/svn-work/tmp/yggdrasil-test`
|
64
|
+
|
65
|
+
FileUtils.cd '/tmp' do
|
66
|
+
Yggdrasil.command %w{update} +
|
67
|
+
%w{--username hoge --password foo --non-interactive}
|
68
|
+
end
|
69
|
+
`cat /tmp/yggdrasil-test/A`.should == "A:no path\n"
|
70
|
+
`cat /tmp/yggdrasil-test/B`.should == "B:no path\n"
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe Yggdrasil, "version" do
|
4
|
+
|
5
|
+
show_version = <<"EOS"
|
6
|
+
#{File.basename($0)}, version #{Yggdrasil::VERSION}
|
7
|
+
|
8
|
+
Copyright (C) 2012-2013 Tomohisa Kusukawa.
|
9
|
+
Yggdrasil is open source software, see https://github.com/tkusukawa/yggdrasil/
|
10
|
+
|
11
|
+
EOS
|
12
|
+
|
13
|
+
it 'should show version on "version"' do
|
14
|
+
puts '---- should show version on "version"'
|
15
|
+
out = catch_stdout{Yggdrasil.command %w{version}}
|
16
|
+
out.should == show_version
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should show version on "--version"' do
|
20
|
+
puts '---- should show version on "--version"'
|
21
|
+
out = catch_stdout{Yggdrasil.command %w{--version}}
|
22
|
+
out.should == show_version
|
23
|
+
end
|
24
|
+
end
|
data/yggdrasil.gemspec
CHANGED
@@ -2,16 +2,19 @@
|
|
2
2
|
require File.expand_path('../lib/yggdrasil/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = ["
|
6
|
-
gem.email =
|
7
|
-
gem.description = %q{
|
8
|
-
gem.summary =
|
5
|
+
gem.authors = ["Tomohisa Kusukawa"]
|
6
|
+
gem.email = %w{t.kusukawa@gmail.com}
|
7
|
+
gem.description = %q{Yggdrasil is a subversion wrapper to manage configuration files.}
|
8
|
+
gem.summary = "Type 'yggdrasil help' for usage."
|
9
9
|
gem.homepage = "https://github.com/tkusukawa/yggdrasil"
|
10
10
|
|
11
11
|
gem.files = `git ls-files`.split($\)
|
12
12
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
13
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
14
|
gem.name = "yggdrasil"
|
15
|
-
gem.require_paths =
|
15
|
+
gem.require_paths = %w{lib}
|
16
16
|
gem.version = Yggdrasil::VERSION
|
17
|
+
|
18
|
+
gem.add_development_dependency "rspec"
|
19
|
+
gem.add_development_dependency "simplecov"
|
17
20
|
end
|
metadata
CHANGED
@@ -1,17 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yggdrasil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
-
|
8
|
+
- Tomohisa Kusukawa
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
dependencies:
|
14
|
-
|
12
|
+
date: 2013-01-14 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rspec
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: simplecov
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: Yggdrasil is a subversion wrapper to manage configuration files.
|
15
47
|
email:
|
16
48
|
- t.kusukawa@gmail.com
|
17
49
|
executables:
|
@@ -26,7 +58,31 @@ files:
|
|
26
58
|
- Rakefile
|
27
59
|
- bin/yggdrasil
|
28
60
|
- lib/yggdrasil.rb
|
61
|
+
- lib/yggdrasil/add.rb
|
62
|
+
- lib/yggdrasil/cleanup.rb
|
63
|
+
- lib/yggdrasil/commit.rb
|
64
|
+
- lib/yggdrasil/diff.rb
|
65
|
+
- lib/yggdrasil/help.rb
|
66
|
+
- lib/yggdrasil/init.rb
|
67
|
+
- lib/yggdrasil/list.rb
|
68
|
+
- lib/yggdrasil/log.rb
|
69
|
+
- lib/yggdrasil/revert.rb
|
70
|
+
- lib/yggdrasil/status.rb
|
71
|
+
- lib/yggdrasil/update.rb
|
29
72
|
- lib/yggdrasil/version.rb
|
73
|
+
- spec/add_spec.rb
|
74
|
+
- spec/cleanup_spec.rb
|
75
|
+
- spec/commit_spec.rb
|
76
|
+
- spec/diff_spec.rb
|
77
|
+
- spec/help_spec.rb
|
78
|
+
- spec/init_spec.rb
|
79
|
+
- spec/list_spec.rb
|
80
|
+
- spec/log_spec.rb
|
81
|
+
- spec/revert_spec.rb
|
82
|
+
- spec/spec_helper.rb
|
83
|
+
- spec/status_spec.rb
|
84
|
+
- spec/update_spec.rb
|
85
|
+
- spec/version_spec.rb
|
30
86
|
- yggdrasil.gemspec
|
31
87
|
homepage: https://github.com/tkusukawa/yggdrasil
|
32
88
|
licenses: []
|
@@ -40,16 +96,35 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
40
96
|
- - ! '>='
|
41
97
|
- !ruby/object:Gem::Version
|
42
98
|
version: '0'
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
hash: 3458326500549019830
|
43
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
103
|
none: false
|
45
104
|
requirements:
|
46
105
|
- - ! '>='
|
47
106
|
- !ruby/object:Gem::Version
|
48
107
|
version: '0'
|
108
|
+
segments:
|
109
|
+
- 0
|
110
|
+
hash: 3458326500549019830
|
49
111
|
requirements: []
|
50
112
|
rubyforge_project:
|
51
113
|
rubygems_version: 1.8.23
|
52
114
|
signing_key:
|
53
115
|
specification_version: 3
|
54
|
-
summary:
|
55
|
-
test_files:
|
116
|
+
summary: Type 'yggdrasil help' for usage.
|
117
|
+
test_files:
|
118
|
+
- spec/add_spec.rb
|
119
|
+
- spec/cleanup_spec.rb
|
120
|
+
- spec/commit_spec.rb
|
121
|
+
- spec/diff_spec.rb
|
122
|
+
- spec/help_spec.rb
|
123
|
+
- spec/init_spec.rb
|
124
|
+
- spec/list_spec.rb
|
125
|
+
- spec/log_spec.rb
|
126
|
+
- spec/revert_spec.rb
|
127
|
+
- spec/spec_helper.rb
|
128
|
+
- spec/status_spec.rb
|
129
|
+
- spec/update_spec.rb
|
130
|
+
- spec/version_spec.rb
|