modulesync 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +11 -3
- data/lib/modulesync/cli.rb +5 -1
- data/lib/modulesync.rb +3 -2
- data/modulesync.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c1dc855f2c78b421ce564326e848cb4622b887c
|
4
|
+
data.tar.gz: 6b9ea713d13af6cb4c079069a7e0883c7531ad52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6835740e963f045ec525312d2fa208eac048d9277af16699b7a5cf605eef4bf8c99b8f5eb522492b17d489905b49a7fa7a249f58f68b2e4a9e264d0da6936687
|
7
|
+
data.tar.gz: 93e83428fbc900e1e72889b6a1af73c20d41a35dfdd441575e17d5576a997a244cf7747e94e6d95756c292cf7511d063c63206daad4b75773a76699ec7f14fd7
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -127,7 +127,7 @@ pre-cloned modules from the dry-run or clones them fresh if the modules aren't
|
|
127
127
|
found.
|
128
128
|
|
129
129
|
```
|
130
|
-
msync update
|
130
|
+
msync update -m "Commit message"
|
131
131
|
```
|
132
132
|
|
133
133
|
#### Automating Updates
|
@@ -177,7 +177,7 @@ namespace if the modules are not pre-cloned. You need to specify a branch to
|
|
177
177
|
push to if you are not pushing to master.
|
178
178
|
|
179
179
|
```
|
180
|
-
msync update -n git@github.com:puppetlabs -b sync_branch
|
180
|
+
msync update -n git@github.com:puppetlabs -b sync_branch -m "Commit message"
|
181
181
|
```
|
182
182
|
|
183
183
|
#### Configuring ModuleSync defaults
|
@@ -198,9 +198,17 @@ Then you can run ModuleSync without extra arguments:
|
|
198
198
|
|
199
199
|
```
|
200
200
|
msync update --noop
|
201
|
-
msync update
|
201
|
+
msync update -m "Commit message"
|
202
202
|
```
|
203
203
|
|
204
|
+
#### Filtering Repositories
|
205
|
+
|
206
|
+
If you only want to sync some of the repositories in your managed_modules.yml, use the -f flag to filter by a regex:
|
207
|
+
|
208
|
+
```
|
209
|
+
msync update -f augeas -m "Commit message"
|
210
|
+
msync update -f puppet-a..o "Commit message"
|
211
|
+
```
|
204
212
|
#### Automating updates
|
205
213
|
|
206
214
|
If you install a git hook, you need to tell it what remote and branch to push
|
data/lib/modulesync/cli.rb
CHANGED
@@ -35,7 +35,7 @@ module ModuleSync
|
|
35
35
|
@options.merge!(Hash.transform_keys_to_symbols(Util.parse_config(MODULESYNC_CONF_FILE)))
|
36
36
|
@options[:command] = args[0] if commands_available.include?(args[0])
|
37
37
|
opt_parser = OptionParser.new do |opts|
|
38
|
-
opts.banner = "Usage: msync update [-m <commit message>] [-c <directory> ] [--noop] [-n <namespace>] [-b <branch>] | hook activate|deactivate [-c <directory> ] [-n <namespace>] [-b <branch>]"
|
38
|
+
opts.banner = "Usage: msync update [-m <commit message>] [-c <directory> ] [--noop] [-n <namespace>] [-b <branch>] [-f <filter>] | hook activate|deactivate [-c <directory> ] [-n <namespace>] [-b <branch>]"
|
39
39
|
opts.on('-m', '--message <msg>',
|
40
40
|
'Commit message to apply to updated modules') do |msg|
|
41
41
|
@options[:message] = msg
|
@@ -52,6 +52,10 @@ module ModuleSync
|
|
52
52
|
'Branch name to make the changes in. Defaults to "master"') do |branch|
|
53
53
|
@options[:branch] = branch
|
54
54
|
end
|
55
|
+
opts.on('-f', '--filter <filter>',
|
56
|
+
'A regular expression to filter repositories to update.') do |filter|
|
57
|
+
@options[:filter] = filter
|
58
|
+
end
|
55
59
|
opts.on('--noop',
|
56
60
|
'No-op mode') do |msg|
|
57
61
|
@options[:noop] = true
|
data/lib/modulesync.rb
CHANGED
@@ -30,12 +30,13 @@ module ModuleSync
|
|
30
30
|
local_files.map { |file| file.sub(/#{path}/, '') }
|
31
31
|
end
|
32
32
|
|
33
|
-
def self.managed_modules(path)
|
33
|
+
def self.managed_modules(path, filter)
|
34
34
|
managed_modules = Util.parse_config(path)
|
35
35
|
if managed_modules.empty?
|
36
36
|
puts "No modules found at #{path}. Check that you specified the right configs directory containing managed_modules.yml."
|
37
37
|
exit
|
38
38
|
end
|
39
|
+
managed_modules.select! { |m| m =~ Regexp.new(filter) } unless filter.nil?
|
39
40
|
managed_modules
|
40
41
|
end
|
41
42
|
|
@@ -50,7 +51,7 @@ module ModuleSync
|
|
50
51
|
local_files = self.local_files(path)
|
51
52
|
module_files = self.module_files(local_files, path)
|
52
53
|
|
53
|
-
managed_modules = self.managed_modules("#{options[:configs]}/managed_modules.yml")
|
54
|
+
managed_modules = self.managed_modules("#{options[:configs]}/managed_modules.yml", options[:filter])
|
54
55
|
|
55
56
|
managed_modules.each do |puppet_module|
|
56
57
|
puts "Syncing #{puppet_module}"
|
data/modulesync.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'modulesync'
|
7
|
-
spec.version = '0.
|
7
|
+
spec.version = '0.2.0'
|
8
8
|
spec.authors = ['Colleen Murphy']
|
9
9
|
spec.email = ['colleen@puppetlabs.com']
|
10
10
|
spec.summary = %q{Puppet Module Synchronizer}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: modulesync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Colleen Murphy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|