repo_manager 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemfiles +115 -0
- data/.gitattributes +1 -0
- data/.gitignore +7 -0
- data/.rspec +3 -0
- data/.yardopts +11 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +99 -0
- data/Guardfile +63 -0
- data/HISTORY.markdown +12 -0
- data/LICENSE +20 -0
- data/README.markdown +192 -0
- data/Rakefile +94 -0
- data/TODO.markdown +15 -0
- data/VERSION +1 -0
- data/bin/repo +151 -0
- data/cucumber.yml +28 -0
- data/examples/pc_saved_game_backup/.gitignore +2 -0
- data/examples/pc_saved_game_backup/INSTALL.markdown +420 -0
- data/examples/pc_saved_game_backup/README.markdown +108 -0
- data/examples/pc_saved_game_backup/remote/.gitignore +2 -0
- data/examples/pc_saved_game_backup/repo_manager/Gemfile +12 -0
- data/examples/pc_saved_game_backup/repo_manager/Gemfile.lock +66 -0
- data/examples/pc_saved_game_backup/repo_manager/assets/.gitignore +2 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/aruba.rb +15 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/env.rb +11 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/steps.rb +3 -0
- data/examples/pc_saved_game_backup/repo_manager/features/tasks/update.feature +144 -0
- data/examples/pc_saved_game_backup/repo_manager/global/default/asset.conf +2 -0
- data/examples/pc_saved_game_backup/repo_manager/repo.conf +64 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/.gitignore +0 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/remote.rb +57 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/update.rb +65 -0
- data/examples/pc_saved_game_backup/saved_games/hearts/save1 +1 -0
- data/examples/pc_saved_game_backup/saved_games/hearts/save2 +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/my_profile.ini +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/saves/save1 +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/saves/save2 +1 -0
- data/features/actions/git.feature +296 -0
- data/features/actions/help.feature +53 -0
- data/features/actions/list.feature +624 -0
- data/features/actions/path.feature +195 -0
- data/features/actions/status.feature +261 -0
- data/features/actions/task.feature +127 -0
- data/features/assets/configuration.feature +204 -0
- data/features/assets/rendering.feature +42 -0
- data/features/assets/user_attributes.feature +98 -0
- data/features/bin.feature +42 -0
- data/features/logger.feature +218 -0
- data/features/settings.feature +240 -0
- data/features/support/aruba.rb +15 -0
- data/features/support/env.rb +11 -0
- data/features/support/steps.rb +3 -0
- data/features/tasks/add/asset.feature +178 -0
- data/features/tasks/generate/init.feature +56 -0
- data/lib/repo_manager.rb +36 -0
- data/lib/repo_manager/actions.rb +8 -0
- data/lib/repo_manager/actions/action_helper.rb +39 -0
- data/lib/repo_manager/actions/app_action.rb +30 -0
- data/lib/repo_manager/actions/base_action.rb +296 -0
- data/lib/repo_manager/actions/git_action.rb +113 -0
- data/lib/repo_manager/actions/help_action.rb +52 -0
- data/lib/repo_manager/actions/list_action.rb +123 -0
- data/lib/repo_manager/actions/path_action.rb +22 -0
- data/lib/repo_manager/actions/status_action.rb +192 -0
- data/lib/repo_manager/actions/task_action.rb +71 -0
- data/lib/repo_manager/app.rb +116 -0
- data/lib/repo_manager/assets.rb +3 -0
- data/lib/repo_manager/assets/app_asset.rb +15 -0
- data/lib/repo_manager/assets/asset_accessors.rb +67 -0
- data/lib/repo_manager/assets/asset_configuration.rb +137 -0
- data/lib/repo_manager/assets/asset_manager.rb +72 -0
- data/lib/repo_manager/assets/base_asset.rb +199 -0
- data/lib/repo_manager/assets/repo_asset.rb +30 -0
- data/lib/repo_manager/core.rb +2 -0
- data/lib/repo_manager/core/array.rb +21 -0
- data/lib/repo_manager/core/hash.rb +83 -0
- data/lib/repo_manager/errors.rb +10 -0
- data/lib/repo_manager/extensions/hash.rb +86 -0
- data/lib/repo_manager/git.rb +2 -0
- data/lib/repo_manager/git/lib.rb +69 -0
- data/lib/repo_manager/git/status.rb +196 -0
- data/lib/repo_manager/logger.rb +39 -0
- data/lib/repo_manager/settings.rb +98 -0
- data/lib/repo_manager/tasks.rb +3 -0
- data/lib/repo_manager/tasks/add/asset.rb +213 -0
- data/lib/repo_manager/tasks/generate/init.rb +42 -0
- data/lib/repo_manager/tasks/generate/templates/config/repo.conf.tt +61 -0
- data/lib/repo_manager/tasks/generate/templates/init/assets/.gitignore +0 -0
- data/lib/repo_manager/tasks/generate/templates/init/global/default/asset.conf +2 -0
- data/lib/repo_manager/tasks/generate/templates/init/tasks/.gitignore +0 -0
- data/lib/repo_manager/tasks/task_manager.rb +166 -0
- data/lib/repo_manager/tasks/thor_helper.rb +29 -0
- data/lib/repo_manager/test/asset_steps.rb +19 -0
- data/lib/repo_manager/test/base_steps.rb +152 -0
- data/lib/repo_manager/test/repo_api.rb +41 -0
- data/lib/repo_manager/test/repo_steps.rb +83 -0
- data/lib/repo_manager/test/test_api.rb +88 -0
- data/lib/repo_manager/views.rb +2 -0
- data/lib/repo_manager/views/app_view.rb +15 -0
- data/lib/repo_manager/views/base_view.rb +137 -0
- data/lib/repo_manager/views/templates/css/basic.css +26 -0
- data/lib/repo_manager/views/templates/default.erb +40 -0
- data/lib/repo_manager/views/templates/default.slim +37 -0
- data/lib/repo_manager/views/view_helper.rb +55 -0
- data/repo_manager.gemspec +75 -0
- data/spec/basic_app/actions/action_helper_spec.rb +54 -0
- data/spec/basic_app/assets/base_asset_spec.rb +210 -0
- data/spec/basic_app/core_spec.rb +78 -0
- data/spec/basic_app/settings_spec.rb +64 -0
- data/spec/basic_app/views/view_helper_spec.rb +28 -0
- data/spec/basic_gem/aruba_helper_spec.rb +33 -0
- data/spec/basic_gem/basic_gem_spec.rb +84 -0
- data/spec/basic_gem/gemspec_spec.rb +68 -0
- data/spec/repo_manager/git_spec.rb +31 -0
- data/spec/spec_helper.rb +25 -0
- metadata +472 -0
data/.gemfiles
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
.gemfiles
|
2
|
+
.gitattributes
|
3
|
+
.gitignore
|
4
|
+
.rspec
|
5
|
+
.yardopts
|
6
|
+
Gemfile
|
7
|
+
Gemfile.lock
|
8
|
+
Guardfile
|
9
|
+
HISTORY.markdown
|
10
|
+
LICENSE
|
11
|
+
README.markdown
|
12
|
+
Rakefile
|
13
|
+
TODO.markdown
|
14
|
+
VERSION
|
15
|
+
bin/repo
|
16
|
+
cucumber.yml
|
17
|
+
examples/pc_saved_game_backup/.gitignore
|
18
|
+
examples/pc_saved_game_backup/INSTALL.markdown
|
19
|
+
examples/pc_saved_game_backup/README.markdown
|
20
|
+
examples/pc_saved_game_backup/remote/.gitignore
|
21
|
+
examples/pc_saved_game_backup/repo_manager/Gemfile
|
22
|
+
examples/pc_saved_game_backup/repo_manager/Gemfile.lock
|
23
|
+
examples/pc_saved_game_backup/repo_manager/assets/.gitignore
|
24
|
+
examples/pc_saved_game_backup/repo_manager/features/support/aruba.rb
|
25
|
+
examples/pc_saved_game_backup/repo_manager/features/support/env.rb
|
26
|
+
examples/pc_saved_game_backup/repo_manager/features/support/steps.rb
|
27
|
+
examples/pc_saved_game_backup/repo_manager/features/tasks/update.feature
|
28
|
+
examples/pc_saved_game_backup/repo_manager/global/default/asset.conf
|
29
|
+
examples/pc_saved_game_backup/repo_manager/repo.conf
|
30
|
+
examples/pc_saved_game_backup/repo_manager/tasks/.gitignore
|
31
|
+
examples/pc_saved_game_backup/repo_manager/tasks/remote.rb
|
32
|
+
examples/pc_saved_game_backup/repo_manager/tasks/update.rb
|
33
|
+
examples/pc_saved_game_backup/saved_games/hearts/save1
|
34
|
+
examples/pc_saved_game_backup/saved_games/hearts/save2
|
35
|
+
examples/pc_saved_game_backup/saved_games/mines/my_profile.ini
|
36
|
+
examples/pc_saved_game_backup/saved_games/mines/saves/save1
|
37
|
+
examples/pc_saved_game_backup/saved_games/mines/saves/save2
|
38
|
+
features/actions/git.feature
|
39
|
+
features/actions/help.feature
|
40
|
+
features/actions/list.feature
|
41
|
+
features/actions/path.feature
|
42
|
+
features/actions/status.feature
|
43
|
+
features/actions/task.feature
|
44
|
+
features/assets/configuration.feature
|
45
|
+
features/assets/rendering.feature
|
46
|
+
features/assets/user_attributes.feature
|
47
|
+
features/bin.feature
|
48
|
+
features/logger.feature
|
49
|
+
features/settings.feature
|
50
|
+
features/support/aruba.rb
|
51
|
+
features/support/env.rb
|
52
|
+
features/support/steps.rb
|
53
|
+
features/tasks/add/asset.feature
|
54
|
+
features/tasks/generate/init.feature
|
55
|
+
lib/repo_manager.rb
|
56
|
+
lib/repo_manager/actions.rb
|
57
|
+
lib/repo_manager/actions/action_helper.rb
|
58
|
+
lib/repo_manager/actions/app_action.rb
|
59
|
+
lib/repo_manager/actions/base_action.rb
|
60
|
+
lib/repo_manager/actions/git_action.rb
|
61
|
+
lib/repo_manager/actions/help_action.rb
|
62
|
+
lib/repo_manager/actions/list_action.rb
|
63
|
+
lib/repo_manager/actions/path_action.rb
|
64
|
+
lib/repo_manager/actions/status_action.rb
|
65
|
+
lib/repo_manager/actions/task_action.rb
|
66
|
+
lib/repo_manager/app.rb
|
67
|
+
lib/repo_manager/assets.rb
|
68
|
+
lib/repo_manager/assets/app_asset.rb
|
69
|
+
lib/repo_manager/assets/asset_accessors.rb
|
70
|
+
lib/repo_manager/assets/asset_configuration.rb
|
71
|
+
lib/repo_manager/assets/asset_manager.rb
|
72
|
+
lib/repo_manager/assets/base_asset.rb
|
73
|
+
lib/repo_manager/assets/repo_asset.rb
|
74
|
+
lib/repo_manager/core.rb
|
75
|
+
lib/repo_manager/core/array.rb
|
76
|
+
lib/repo_manager/core/hash.rb
|
77
|
+
lib/repo_manager/errors.rb
|
78
|
+
lib/repo_manager/extensions/hash.rb
|
79
|
+
lib/repo_manager/git.rb
|
80
|
+
lib/repo_manager/git/lib.rb
|
81
|
+
lib/repo_manager/git/status.rb
|
82
|
+
lib/repo_manager/logger.rb
|
83
|
+
lib/repo_manager/settings.rb
|
84
|
+
lib/repo_manager/tasks.rb
|
85
|
+
lib/repo_manager/tasks/add/asset.rb
|
86
|
+
lib/repo_manager/tasks/generate/init.rb
|
87
|
+
lib/repo_manager/tasks/generate/templates/config/repo.conf.tt
|
88
|
+
lib/repo_manager/tasks/generate/templates/init/assets/.gitignore
|
89
|
+
lib/repo_manager/tasks/generate/templates/init/global/default/asset.conf
|
90
|
+
lib/repo_manager/tasks/generate/templates/init/tasks/.gitignore
|
91
|
+
lib/repo_manager/tasks/task_manager.rb
|
92
|
+
lib/repo_manager/tasks/thor_helper.rb
|
93
|
+
lib/repo_manager/test/asset_steps.rb
|
94
|
+
lib/repo_manager/test/base_steps.rb
|
95
|
+
lib/repo_manager/test/repo_api.rb
|
96
|
+
lib/repo_manager/test/repo_steps.rb
|
97
|
+
lib/repo_manager/test/test_api.rb
|
98
|
+
lib/repo_manager/views.rb
|
99
|
+
lib/repo_manager/views/app_view.rb
|
100
|
+
lib/repo_manager/views/base_view.rb
|
101
|
+
lib/repo_manager/views/templates/css/basic.css
|
102
|
+
lib/repo_manager/views/templates/default.erb
|
103
|
+
lib/repo_manager/views/templates/default.slim
|
104
|
+
lib/repo_manager/views/view_helper.rb
|
105
|
+
repo_manager.gemspec
|
106
|
+
spec/basic_app/actions/action_helper_spec.rb
|
107
|
+
spec/basic_app/assets/base_asset_spec.rb
|
108
|
+
spec/basic_app/core_spec.rb
|
109
|
+
spec/basic_app/settings_spec.rb
|
110
|
+
spec/basic_app/views/view_helper_spec.rb
|
111
|
+
spec/basic_gem/aruba_helper_spec.rb
|
112
|
+
spec/basic_gem/basic_gem_spec.rb
|
113
|
+
spec/basic_gem/gemspec_spec.rb
|
114
|
+
spec/repo_manager/git_spec.rb
|
115
|
+
spec/spec_helper.rb
|
data/.gitattributes
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.rb diff=ruby
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.yardopts
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in the .gemspec file
|
4
|
+
gemspec
|
5
|
+
|
6
|
+
group :development do
|
7
|
+
gem 'libnotify', :platforms => :ruby # MRI, Rubinius but not Windows
|
8
|
+
end
|
9
|
+
|
10
|
+
# Platform specific supplement to .gemspec
|
11
|
+
gem "win32console", :platforms => [:mingw, :mswin]
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
repo_manager (0.7.1)
|
5
|
+
chronic (>= 0.6.5)
|
6
|
+
git (= 1.2.5)
|
7
|
+
logging (>= 1.6.2)
|
8
|
+
mustache (>= 0.99.4)
|
9
|
+
slim (>= 1.0.4)
|
10
|
+
term-ansicolor (>= 1.0.4)
|
11
|
+
thor (~> 0.15.0)
|
12
|
+
|
13
|
+
GEM
|
14
|
+
remote: http://rubygems.org/
|
15
|
+
specs:
|
16
|
+
aruba (0.4.5)
|
17
|
+
bcat (>= 0.6.1)
|
18
|
+
childprocess (>= 0.1.9)
|
19
|
+
cucumber (>= 0.10.7)
|
20
|
+
rdiscount (>= 1.6.8)
|
21
|
+
rspec (>= 2.6.0)
|
22
|
+
bcat (0.6.2)
|
23
|
+
rack (~> 1.0)
|
24
|
+
builder (3.0.0)
|
25
|
+
childprocess (0.3.2)
|
26
|
+
ffi (~> 1.0.6)
|
27
|
+
chronic (0.6.7)
|
28
|
+
cucumber (1.2.1)
|
29
|
+
builder (>= 2.1.2)
|
30
|
+
diff-lcs (>= 1.1.3)
|
31
|
+
gherkin (~> 2.11.0)
|
32
|
+
json (>= 1.4.6)
|
33
|
+
diff-lcs (1.1.3)
|
34
|
+
ffi (1.0.11)
|
35
|
+
gherkin (2.11.1)
|
36
|
+
json (>= 1.4.6)
|
37
|
+
gherkin (2.11.1-x86-mingw32)
|
38
|
+
json (>= 1.4.6)
|
39
|
+
git (1.2.5)
|
40
|
+
guard (1.0.3)
|
41
|
+
ffi (>= 0.5.0)
|
42
|
+
thor (>= 0.14.6)
|
43
|
+
guard-cucumber (0.8.0)
|
44
|
+
cucumber (>= 1.2.0)
|
45
|
+
guard (>= 0.8.3)
|
46
|
+
guard-rspec (0.7.3)
|
47
|
+
guard (>= 0.10.0)
|
48
|
+
json (1.7.3)
|
49
|
+
libnotify (0.7.4)
|
50
|
+
ffi (~> 1.0.11)
|
51
|
+
little-plugger (1.1.3)
|
52
|
+
logging (1.7.2)
|
53
|
+
little-plugger (>= 1.1.3)
|
54
|
+
mustache (0.99.4)
|
55
|
+
rack (1.4.1)
|
56
|
+
rake (0.9.2.2)
|
57
|
+
rdiscount (1.6.8)
|
58
|
+
redcarpet (2.1.1)
|
59
|
+
rspec (2.10.0)
|
60
|
+
rspec-core (~> 2.10.0)
|
61
|
+
rspec-expectations (~> 2.10.0)
|
62
|
+
rspec-mocks (~> 2.10.0)
|
63
|
+
rspec-core (2.10.1)
|
64
|
+
rspec-expectations (2.10.0)
|
65
|
+
diff-lcs (~> 1.1.3)
|
66
|
+
rspec-mocks (2.10.1)
|
67
|
+
slim (1.2.2)
|
68
|
+
temple (~> 0.4.0)
|
69
|
+
tilt (~> 1.3.3)
|
70
|
+
temple (0.4.0)
|
71
|
+
term-ansicolor (1.0.7)
|
72
|
+
thor (0.15.3)
|
73
|
+
tilt (1.3.3)
|
74
|
+
win32console (1.3.2-x86-mingw32)
|
75
|
+
yard (0.8.2.1)
|
76
|
+
yard-cucumber (2.2.0)
|
77
|
+
cucumber (>= 0.7.5)
|
78
|
+
gherkin (>= 2.2.9)
|
79
|
+
yard (>= 0.8.1)
|
80
|
+
|
81
|
+
PLATFORMS
|
82
|
+
ruby
|
83
|
+
x86-mingw32
|
84
|
+
|
85
|
+
DEPENDENCIES
|
86
|
+
aruba (= 0.4.5)
|
87
|
+
bundler (>= 1.0.14)
|
88
|
+
cucumber (~> 1.0)
|
89
|
+
guard (= 1.0.3)
|
90
|
+
guard-cucumber (~> 0.8)
|
91
|
+
guard-rspec (~> 0.7)
|
92
|
+
libnotify
|
93
|
+
rake (>= 0.8.7)
|
94
|
+
redcarpet (>= 1.17.2)
|
95
|
+
repo_manager!
|
96
|
+
rspec (>= 2.6.0)
|
97
|
+
win32console
|
98
|
+
yard (>= 0.7.4)
|
99
|
+
yard-cucumber (>= 2.1.7)
|
data/Guardfile
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'rbconfig'
|
2
|
+
WINDOWS = RbConfig::CONFIG['host_os'] =~ /msdos|mswin|win32|mingw/i unless defined?(WINDOWS)
|
3
|
+
|
4
|
+
notification :on
|
5
|
+
|
6
|
+
# @examples
|
7
|
+
#
|
8
|
+
# guard --group specs
|
9
|
+
# guard --group features
|
10
|
+
#
|
11
|
+
group :rspec do
|
12
|
+
guard 'rspec',
|
13
|
+
:all_after_pass => false,
|
14
|
+
:all_on_start => false,
|
15
|
+
#:cli => '--color --format nested --fail-fast',
|
16
|
+
:cli => '--color --format nested',
|
17
|
+
:version => 2 do
|
18
|
+
|
19
|
+
watch(%r{^spec/.+_spec\.rb$})
|
20
|
+
watch('spec/spec_helper.rb') { "spec" }
|
21
|
+
|
22
|
+
# ex: lib/app_name/views.rb -> spec/app_name/views_spec.rb
|
23
|
+
watch(%r{^lib/(.+)/(.+)\.rb$}) { |m| "spec/#{m[1]}/#{m[2]}_spec.rb" }
|
24
|
+
|
25
|
+
# ex: lib/app_name/views/view_helper.rb -> spec/app_name/views/view_helper_spec.rb
|
26
|
+
watch(%r{^lib/(.+)/(.+)/(.+)\.rb$}) { |m| "spec/#{m[1]}/#{m[2]}/#{m[3]}_spec.rb" }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
group :cucumber do
|
31
|
+
|
32
|
+
opts = []
|
33
|
+
opts << ["--color"]
|
34
|
+
opts << ["--format pretty"]
|
35
|
+
opts << ["--strict"]
|
36
|
+
opts << ["-r features"]
|
37
|
+
opts << ["--no-profile"]
|
38
|
+
#opts << ["--tags @focus"]
|
39
|
+
opts << ["--tags ~@wip"]
|
40
|
+
opts << ["--tags ~@windows"] unless WINDOWS
|
41
|
+
opts << ["--tags ~@posix"] if WINDOWS
|
42
|
+
|
43
|
+
guard 'cucumber',
|
44
|
+
:cli => opts.join(" "),
|
45
|
+
:all_after_pass => false,
|
46
|
+
:all_on_start => false do
|
47
|
+
|
48
|
+
watch(%r{^features/.+\.feature$})
|
49
|
+
|
50
|
+
# actions
|
51
|
+
watch(%r{^lib/repoman/actions/(.+)_action.rb$}) { |m| "features/actions/#{m[1]}.feature" }
|
52
|
+
|
53
|
+
# assets
|
54
|
+
watch(%r{^lib/basic_app/assets/.+_asset.rb$}) { |m| "features/assets/configuration.feature features/assets/rendering.feature" }
|
55
|
+
watch(%r{^lib/basic_app/assets/asset_configuration.rb$}) { |m| "features/assets/configuration.feature" }
|
56
|
+
watch(%r{^lib/basic_app/assets/asset_accessors.rb$}) { |m| "features/assets/user_attributes.feature" }
|
57
|
+
|
58
|
+
# tasks
|
59
|
+
watch(%r{^lib/repoman/tasks/(.+)/(.+).rb$}) { |m| "features/tasks/#{m[1]}/#{m[2]}.feature" }
|
60
|
+
watch(%r{^lib/repoman/tasks/task_manager.rb$}) { "features/actions/ph.feature" }
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
data/HISTORY.markdown
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2012 GearheadForHire, LLC
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.markdown
ADDED
@@ -0,0 +1,192 @@
|
|
1
|
+
RepoManager
|
2
|
+
===========
|
3
|
+
|
4
|
+
Command line interface (CLI) for batch management of multiple Git repositories.
|
5
|
+
|
6
|
+
Overview
|
7
|
+
--------
|
8
|
+
|
9
|
+
RepoManager is a wrapper for Git, the distributed version control system.
|
10
|
+
RepoManager's wrapper functions allow a single git command to be executed
|
11
|
+
across multiple git repositories.
|
12
|
+
|
13
|
+
For example, you have two git repositories named 'repo1' and 'repo2' and
|
14
|
+
you want to check the status of both working folders.
|
15
|
+
|
16
|
+
### without repo_manager
|
17
|
+
|
18
|
+
cd ~/workspace/delphi/repo1
|
19
|
+
git status
|
20
|
+
|
21
|
+
cd ~/workspace/delphi/repo2
|
22
|
+
git status
|
23
|
+
|
24
|
+
### with repo_manager
|
25
|
+
|
26
|
+
repo status
|
27
|
+
|
28
|
+
### suitable for
|
29
|
+
|
30
|
+
* Light weight mirroring of data across a network. That is a job for
|
31
|
+
rsync. Or is it? If you develop for multiple platforms across multiple
|
32
|
+
(virtual) machines rsync'ing may not be the best option. If you already
|
33
|
+
have everything tucked into git repositories, you can use a single
|
34
|
+
'repo pull' command to mirror all of your repositories to one location
|
35
|
+
for backup or reference.
|
36
|
+
|
37
|
+
### not suitable for
|
38
|
+
|
39
|
+
* Maintaining related source code repositories. There are suitable tools
|
40
|
+
for that including git's own 'git submodules',
|
41
|
+
[git-subtree](https://github.com/apenwarr/git-subtree), and
|
42
|
+
[GitSlave](http://gitslave.sourceforge.net/)
|
43
|
+
|
44
|
+
|
45
|
+
Getting started with RepoManager
|
46
|
+
--------------------------------
|
47
|
+
|
48
|
+
### installation
|
49
|
+
|
50
|
+
gem install repo_manager
|
51
|
+
|
52
|
+
### help
|
53
|
+
|
54
|
+
repo --help
|
55
|
+
repo --tasks
|
56
|
+
repo help generate:init
|
57
|
+
|
58
|
+
### generate configuration folder structure
|
59
|
+
|
60
|
+
cd ~/workspace
|
61
|
+
repo generate:init .repo_manager
|
62
|
+
|
63
|
+
generate:init output
|
64
|
+
|
65
|
+
init creating initial config file at '/home/robert/workspace/.repo_manager/repo.conf'
|
66
|
+
create .repo_manager/repo.conf
|
67
|
+
init creating initial file structure in '/home/robert/workspace/.repo_manager'
|
68
|
+
exist .repo_manager
|
69
|
+
create .repo_manager/.gitignore
|
70
|
+
create .repo_manager/assets/.gitignore
|
71
|
+
create .repo_manager/global/default/asset.conf
|
72
|
+
create .repo_manager/tasks/.gitignore
|
73
|
+
|
74
|
+
### generate individual repository configurations files
|
75
|
+
|
76
|
+
generate multiple config files by searching a folder, one level deep, for git repositories
|
77
|
+
|
78
|
+
|
79
|
+
repo generate:config . --filter=mutagem,basic_*,repo_manager
|
80
|
+
|
81
|
+
generate config output
|
82
|
+
|
83
|
+
collecting collecting top level folder names
|
84
|
+
configuring setting discovered asset configuration paths
|
85
|
+
comparing looking for existing asset names
|
86
|
+
comparing looking for existing asset paths
|
87
|
+
Discovered assets
|
88
|
+
found basic_gem path => './basic_gem'
|
89
|
+
found basic_website path => './basic_website'
|
90
|
+
found basic_assets path => './basic_assets'
|
91
|
+
found repo_manager path => './repo_manager'
|
92
|
+
found basic_app path => './basic_app'
|
93
|
+
found mutagem path => './mutagem'
|
94
|
+
found basic_rails path => './basic_rails'
|
95
|
+
|
96
|
+
Found 7 assets, write the configuration files (y/n)?
|
97
|
+
|
98
|
+
answer 'y'
|
99
|
+
|
100
|
+
creating repo_manager configuration file for basic_gem
|
101
|
+
creating repo_manager configuration file for basic_website
|
102
|
+
creating repo_manager configuration file for basic_assets
|
103
|
+
creating repo_manager configuration file for repo_manager
|
104
|
+
creating repo_manager configuration file for basic_app
|
105
|
+
creating repo_manager configuration file for mutagem
|
106
|
+
creating repo_manager configuration file for basic_rails
|
107
|
+
|
108
|
+
|
109
|
+
Example Usage - Managing game saves across multiple computers
|
110
|
+
-------------------------------------------------------------
|
111
|
+
|
112
|
+
See examples/pc_saved_game_backup/README.markdown
|
113
|
+
|
114
|
+
|
115
|
+
Bash completion
|
116
|
+
----------------
|
117
|
+
|
118
|
+
Handy functions for use under Bash. These work fine on Win32 using
|
119
|
+
Git-Bash.
|
120
|
+
|
121
|
+
* rcd: repo cd (change directory). Wrapper for 'cd', allows for simple cd
|
122
|
+
<repo name> to the working folder on the filesystem referenced by the 'path'
|
123
|
+
configuration variable.
|
124
|
+
* rpushd: repo pushd (push directory). Wrapper for 'pushd'.
|
125
|
+
|
126
|
+
|
127
|
+
vim ~/.bashrc
|
128
|
+
|
129
|
+
function rcd(){ cd "$(repo --match=ONE --no-color path $@)"; }
|
130
|
+
function rpushd(){ pushd "$(repo path --match=ONE --no-color $@)"; }
|
131
|
+
alias rpopd="popd"
|
132
|
+
|
133
|
+
# provide completion for repo names
|
134
|
+
function _repo_names()
|
135
|
+
{
|
136
|
+
local cur opts prev
|
137
|
+
COMPREPLY=()
|
138
|
+
cur="${COMP_WORDS[COMP_CWORD]}"
|
139
|
+
opts=`repo list --list=name --no-color`
|
140
|
+
|
141
|
+
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
142
|
+
return 0
|
143
|
+
}
|
144
|
+
complete -F _repo_names rcd rpushd repo
|
145
|
+
|
146
|
+
|
147
|
+
Rake tasks
|
148
|
+
----------
|
149
|
+
|
150
|
+
bundle exec rake -T
|
151
|
+
|
152
|
+
rake build # Build repo_manager-0.7.1.gem into the pkg directory
|
153
|
+
rake cucumber # Run Cucumber features
|
154
|
+
rake doc:clean # Remove generated documenation
|
155
|
+
rake doc:generate # Generate YARD Documentation
|
156
|
+
rake doc:undocumented # List undocumented objects
|
157
|
+
rake gemfiles # Generate .gemfiles via 'git ls-files'
|
158
|
+
rake install # Build and install repo_manager-0.7.1.gem into system gems
|
159
|
+
rake release # Create tag v0.7.1 and build and push repo_manager-0.7.1.gem to Rubygems
|
160
|
+
rake spec # Run RSpec
|
161
|
+
rake test # Run specs, both RSpec and Cucumber
|
162
|
+
|
163
|
+
|
164
|
+
Development Environment
|
165
|
+
-----------------------
|
166
|
+
|
167
|
+
RepoManager was originally cloned from [BasicApp](http://github.com/robertwahler/BasicApp).
|
168
|
+
|
169
|
+
all systems
|
170
|
+
|
171
|
+
cd ~/workspace
|
172
|
+
git clone https://github.com/robertwahler/repo_manager
|
173
|
+
cd repo_manager
|
174
|
+
|
175
|
+
gem install bundler
|
176
|
+
bundle
|
177
|
+
|
178
|
+
colored output on windows
|
179
|
+
|
180
|
+
gem install win32console
|
181
|
+
|
182
|
+
|
183
|
+
Autotesting with Guard
|
184
|
+
----------------------
|
185
|
+
|
186
|
+
bundle exec guard
|
187
|
+
|
188
|
+
|
189
|
+
Copyright
|
190
|
+
---------
|
191
|
+
|
192
|
+
Copyright (c) 2012 GearheadForHire, LLC. See [LICENSE](LICENSE) for details.
|