repo_manager 0.7.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.
Files changed (116) hide show
  1. data/.gemfiles +115 -0
  2. data/.gitattributes +1 -0
  3. data/.gitignore +7 -0
  4. data/.rspec +3 -0
  5. data/.yardopts +11 -0
  6. data/Gemfile +11 -0
  7. data/Gemfile.lock +99 -0
  8. data/Guardfile +63 -0
  9. data/HISTORY.markdown +12 -0
  10. data/LICENSE +20 -0
  11. data/README.markdown +192 -0
  12. data/Rakefile +94 -0
  13. data/TODO.markdown +15 -0
  14. data/VERSION +1 -0
  15. data/bin/repo +151 -0
  16. data/cucumber.yml +28 -0
  17. data/examples/pc_saved_game_backup/.gitignore +2 -0
  18. data/examples/pc_saved_game_backup/INSTALL.markdown +420 -0
  19. data/examples/pc_saved_game_backup/README.markdown +108 -0
  20. data/examples/pc_saved_game_backup/remote/.gitignore +2 -0
  21. data/examples/pc_saved_game_backup/repo_manager/Gemfile +12 -0
  22. data/examples/pc_saved_game_backup/repo_manager/Gemfile.lock +66 -0
  23. data/examples/pc_saved_game_backup/repo_manager/assets/.gitignore +2 -0
  24. data/examples/pc_saved_game_backup/repo_manager/features/support/aruba.rb +15 -0
  25. data/examples/pc_saved_game_backup/repo_manager/features/support/env.rb +11 -0
  26. data/examples/pc_saved_game_backup/repo_manager/features/support/steps.rb +3 -0
  27. data/examples/pc_saved_game_backup/repo_manager/features/tasks/update.feature +144 -0
  28. data/examples/pc_saved_game_backup/repo_manager/global/default/asset.conf +2 -0
  29. data/examples/pc_saved_game_backup/repo_manager/repo.conf +64 -0
  30. data/examples/pc_saved_game_backup/repo_manager/tasks/.gitignore +0 -0
  31. data/examples/pc_saved_game_backup/repo_manager/tasks/remote.rb +57 -0
  32. data/examples/pc_saved_game_backup/repo_manager/tasks/update.rb +65 -0
  33. data/examples/pc_saved_game_backup/saved_games/hearts/save1 +1 -0
  34. data/examples/pc_saved_game_backup/saved_games/hearts/save2 +1 -0
  35. data/examples/pc_saved_game_backup/saved_games/mines/my_profile.ini +1 -0
  36. data/examples/pc_saved_game_backup/saved_games/mines/saves/save1 +1 -0
  37. data/examples/pc_saved_game_backup/saved_games/mines/saves/save2 +1 -0
  38. data/features/actions/git.feature +296 -0
  39. data/features/actions/help.feature +53 -0
  40. data/features/actions/list.feature +624 -0
  41. data/features/actions/path.feature +195 -0
  42. data/features/actions/status.feature +261 -0
  43. data/features/actions/task.feature +127 -0
  44. data/features/assets/configuration.feature +204 -0
  45. data/features/assets/rendering.feature +42 -0
  46. data/features/assets/user_attributes.feature +98 -0
  47. data/features/bin.feature +42 -0
  48. data/features/logger.feature +218 -0
  49. data/features/settings.feature +240 -0
  50. data/features/support/aruba.rb +15 -0
  51. data/features/support/env.rb +11 -0
  52. data/features/support/steps.rb +3 -0
  53. data/features/tasks/add/asset.feature +178 -0
  54. data/features/tasks/generate/init.feature +56 -0
  55. data/lib/repo_manager.rb +36 -0
  56. data/lib/repo_manager/actions.rb +8 -0
  57. data/lib/repo_manager/actions/action_helper.rb +39 -0
  58. data/lib/repo_manager/actions/app_action.rb +30 -0
  59. data/lib/repo_manager/actions/base_action.rb +296 -0
  60. data/lib/repo_manager/actions/git_action.rb +113 -0
  61. data/lib/repo_manager/actions/help_action.rb +52 -0
  62. data/lib/repo_manager/actions/list_action.rb +123 -0
  63. data/lib/repo_manager/actions/path_action.rb +22 -0
  64. data/lib/repo_manager/actions/status_action.rb +192 -0
  65. data/lib/repo_manager/actions/task_action.rb +71 -0
  66. data/lib/repo_manager/app.rb +116 -0
  67. data/lib/repo_manager/assets.rb +3 -0
  68. data/lib/repo_manager/assets/app_asset.rb +15 -0
  69. data/lib/repo_manager/assets/asset_accessors.rb +67 -0
  70. data/lib/repo_manager/assets/asset_configuration.rb +137 -0
  71. data/lib/repo_manager/assets/asset_manager.rb +72 -0
  72. data/lib/repo_manager/assets/base_asset.rb +199 -0
  73. data/lib/repo_manager/assets/repo_asset.rb +30 -0
  74. data/lib/repo_manager/core.rb +2 -0
  75. data/lib/repo_manager/core/array.rb +21 -0
  76. data/lib/repo_manager/core/hash.rb +83 -0
  77. data/lib/repo_manager/errors.rb +10 -0
  78. data/lib/repo_manager/extensions/hash.rb +86 -0
  79. data/lib/repo_manager/git.rb +2 -0
  80. data/lib/repo_manager/git/lib.rb +69 -0
  81. data/lib/repo_manager/git/status.rb +196 -0
  82. data/lib/repo_manager/logger.rb +39 -0
  83. data/lib/repo_manager/settings.rb +98 -0
  84. data/lib/repo_manager/tasks.rb +3 -0
  85. data/lib/repo_manager/tasks/add/asset.rb +213 -0
  86. data/lib/repo_manager/tasks/generate/init.rb +42 -0
  87. data/lib/repo_manager/tasks/generate/templates/config/repo.conf.tt +61 -0
  88. data/lib/repo_manager/tasks/generate/templates/init/assets/.gitignore +0 -0
  89. data/lib/repo_manager/tasks/generate/templates/init/global/default/asset.conf +2 -0
  90. data/lib/repo_manager/tasks/generate/templates/init/tasks/.gitignore +0 -0
  91. data/lib/repo_manager/tasks/task_manager.rb +166 -0
  92. data/lib/repo_manager/tasks/thor_helper.rb +29 -0
  93. data/lib/repo_manager/test/asset_steps.rb +19 -0
  94. data/lib/repo_manager/test/base_steps.rb +152 -0
  95. data/lib/repo_manager/test/repo_api.rb +41 -0
  96. data/lib/repo_manager/test/repo_steps.rb +83 -0
  97. data/lib/repo_manager/test/test_api.rb +88 -0
  98. data/lib/repo_manager/views.rb +2 -0
  99. data/lib/repo_manager/views/app_view.rb +15 -0
  100. data/lib/repo_manager/views/base_view.rb +137 -0
  101. data/lib/repo_manager/views/templates/css/basic.css +26 -0
  102. data/lib/repo_manager/views/templates/default.erb +40 -0
  103. data/lib/repo_manager/views/templates/default.slim +37 -0
  104. data/lib/repo_manager/views/view_helper.rb +55 -0
  105. data/repo_manager.gemspec +75 -0
  106. data/spec/basic_app/actions/action_helper_spec.rb +54 -0
  107. data/spec/basic_app/assets/base_asset_spec.rb +210 -0
  108. data/spec/basic_app/core_spec.rb +78 -0
  109. data/spec/basic_app/settings_spec.rb +64 -0
  110. data/spec/basic_app/views/view_helper_spec.rb +28 -0
  111. data/spec/basic_gem/aruba_helper_spec.rb +33 -0
  112. data/spec/basic_gem/basic_gem_spec.rb +84 -0
  113. data/spec/basic_gem/gemspec_spec.rb +68 -0
  114. data/spec/repo_manager/git_spec.rb +31 -0
  115. data/spec/spec_helper.rb +25 -0
  116. 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
@@ -0,0 +1,7 @@
1
+ /pkg/
2
+ /.bundle/
3
+ /rdoc/
4
+ /.yardoc/
5
+ rerun.txt
6
+ tags
7
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --colour
2
+ #--format progress
3
+ --format documentation
data/.yardopts ADDED
@@ -0,0 +1,11 @@
1
+ --verbose
2
+ --plugin yard-cucumber
3
+ lib/**/*.rb
4
+ features/**/*.feature
5
+ features/step_definitions/**/*.rb
6
+ features/support/env.rb
7
+ -
8
+ LICENSE
9
+ HISTORY.markdown
10
+ TODO.markdown
11
+ VERSION
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
@@ -0,0 +1,12 @@
1
+ History
2
+ =======
3
+
4
+ Most recent changes are at the top
5
+
6
+
7
+ Changes
8
+ -------
9
+
10
+ ### 0.7.1 - 07/31/2012 ###
11
+
12
+ * Initial release
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.