ebm 0.0.14 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/commands/pull.rb +18 -4
- data/lib/commands/tag.rb +34 -6
- data/lib/ebmsharedlib/utilities.rb +17 -0
- data/lib/info.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 6ed5b9bfdba6c7db8b4b75cee27af82e801591a2
|
4
|
-
data.tar.gz: 39ef0f6362ad6d0cb15394ac6e2bde14bdc2b65f
|
5
2
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7b603272b2c9fc59edce589b9c11b4e5782d1edcf898b396e15f3fef9fb7dbbbd0fea03e9d0483bef301e96e8fc4dac1a03d530c99a37bb518946b850ae73d9
|
4
|
+
data.tar.gz: 00de09579c0f9729536c6c63e613b3ec6014e07421ec518610379cc9e8165c4a3a0168356c681e4f0e436ec4eb2460676e3309321e8d32cb01128b1266dcf5a4
|
5
|
+
SHA1:
|
6
|
+
metadata.gz: c749515fc92f8758856798292830057d2299b95c
|
7
|
+
data.tar.gz: 51601bc0d48c15c7b2b29e57e165a09f8c619f29
|
data/lib/commands/pull.rb
CHANGED
@@ -29,6 +29,10 @@ module Commands
|
|
29
29
|
options[:tag] = v
|
30
30
|
end
|
31
31
|
|
32
|
+
opts.on("--remote_version", "Pull from remote version branch into your current branch.") do |v|
|
33
|
+
options[:remote_version] = v
|
34
|
+
end
|
35
|
+
|
32
36
|
end
|
33
37
|
|
34
38
|
def run(global_options)
|
@@ -36,10 +40,14 @@ module Commands
|
|
36
40
|
# see if we can open the config file - we append the .config suffix
|
37
41
|
# the file is expected to be in JSON format
|
38
42
|
tag = options[:tag]
|
39
|
-
|
43
|
+
remote_version = options[:remote_version]
|
40
44
|
|
41
45
|
if ARGV.length > 0
|
42
|
-
raise "You must specify all arguments with their options.
|
46
|
+
raise "You must specify all arguments with their options."
|
47
|
+
end
|
48
|
+
|
49
|
+
if (!tag.nil? && !remote_version.nil?)
|
50
|
+
raise "You can't specify both a pull from a tag and a pull from a remote version branch together."
|
43
51
|
end
|
44
52
|
|
45
53
|
# determine config_name by extracting parent of our directory
|
@@ -56,6 +64,7 @@ module Commands
|
|
56
64
|
if repo[:create_dev_branch]
|
57
65
|
repo_name = EbmSharedLib.get_repo_name(repo[:git_path])
|
58
66
|
repo_path = "#{top_dir}/#{repo_name}"
|
67
|
+
branch = repo[:branch]
|
59
68
|
puts("\n#{repo_name} pull:\n");
|
60
69
|
|
61
70
|
cmd = "git fetch --all"
|
@@ -70,8 +79,13 @@ module Commands
|
|
70
79
|
raise "Git checkout failed for #{repo_name}."
|
71
80
|
end
|
72
81
|
else
|
73
|
-
|
74
|
-
|
82
|
+
if remote_version
|
83
|
+
# pulling from remote version branch
|
84
|
+
cmd = "git pull origin #{branch}"
|
85
|
+
else
|
86
|
+
# pull from the remote branch of the current branch
|
87
|
+
cmd = "git pull"
|
88
|
+
end
|
75
89
|
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
76
90
|
raise "Git pull failed for #{repo_name}."
|
77
91
|
end
|
data/lib/commands/tag.rb
CHANGED
@@ -34,6 +34,10 @@ module Commands
|
|
34
34
|
options[:delete] = v
|
35
35
|
end
|
36
36
|
|
37
|
+
opts.on("--commit_and_push", "Commit any local changes and then push the remote - should only be used by the build system.") do |v|
|
38
|
+
options[:commit_and_push] = v
|
39
|
+
end
|
40
|
+
|
37
41
|
end
|
38
42
|
|
39
43
|
def run(global_options)
|
@@ -41,7 +45,12 @@ module Commands
|
|
41
45
|
# see if we can open the config file - we append the .config suffix
|
42
46
|
# the file is expected to be in JSON format
|
43
47
|
tag = options[:tag]
|
44
|
-
delete_tag = options[:delete]
|
48
|
+
delete_tag = !!options[:delete]
|
49
|
+
commit_and_push = !!options[:commit_and_push] # the !! forces conversion to a boolean
|
50
|
+
|
51
|
+
if (commit_and_push && delete_tag)
|
52
|
+
raise "You cannot use --commit_and_push with --delete."
|
53
|
+
end
|
45
54
|
|
46
55
|
# determine config_name by extracting our directory
|
47
56
|
config_name = EbmSharedLib.config_name_from_dir(Dir.pwd)
|
@@ -60,15 +69,34 @@ module Commands
|
|
60
69
|
if repo[:taggable]
|
61
70
|
repo_name = EbmSharedLib.get_repo_name(repo[:git_path])
|
62
71
|
repo_path = "#{top_dir}/#{repo_name}"
|
63
|
-
if delete_tag
|
72
|
+
if delete_tag
|
64
73
|
cmd = "git tag -d #{tag} && git push origin :refs/tags/#{tag}"
|
65
74
|
else
|
75
|
+
if commit_and_push
|
76
|
+
# they want to commit whatever has changed and push to current remote
|
77
|
+
# first grab the current branch name
|
78
|
+
cmd = "git symbolic-ref HEAD"
|
79
|
+
result = EbmSharedLib::CL.do_cmd_output(cmd, repo_path)
|
80
|
+
if $?.exitstatus != 0
|
81
|
+
raise "Unable to get the current branch for #{repo_name}, you may be on a detached HEAD."
|
82
|
+
end
|
83
|
+
branch = result.rstrip.split("/").last
|
84
|
+
|
85
|
+
# we have the local branch so now commit and push to the remote branch
|
86
|
+
cmd = "git commit -am \"Committing changes via ebm tag --commit_and_push for tag #{tag}.\""
|
87
|
+
EbmSharedLib::CL.do_cmd_result(cmd, repo_path) # ignore any error
|
88
|
+
|
89
|
+
# now push what we just committed
|
90
|
+
cmd = "git push origin #{branch}"
|
91
|
+
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
92
|
+
raise "Push failed failed for #{repo_name}."
|
93
|
+
end
|
94
|
+
end
|
66
95
|
cmd = "git tag #{tag} && git push origin refs/tags/#{tag}"
|
96
|
+
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
97
|
+
raise "Tagging operation failed for #{repo_name}. Make sure you are in the top level #{config_name} directory."
|
98
|
+
end
|
67
99
|
end
|
68
|
-
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
69
|
-
raise "Tagging operation failed for #{repo_name}. Make sure you are in the top level #{config_name} directory."
|
70
|
-
end
|
71
|
-
|
72
100
|
end
|
73
101
|
end
|
74
102
|
|
@@ -40,6 +40,23 @@ module EbmSharedLib
|
|
40
40
|
def self.do_cmd_result(cmd, dir=nil)
|
41
41
|
do_cmd(cmd, dir)
|
42
42
|
end
|
43
|
+
|
44
|
+
# run a command and return the output string
|
45
|
+
def self.do_cmd_output(cmd, dir=nil)
|
46
|
+
exit_code = 0
|
47
|
+
result = ""
|
48
|
+
|
49
|
+
if dir.nil? == false
|
50
|
+
Dir.chdir(dir){
|
51
|
+
result = `#{cmd}`
|
52
|
+
}
|
53
|
+
else
|
54
|
+
result = `#{cmd}`
|
55
|
+
end
|
56
|
+
|
57
|
+
result
|
58
|
+
end
|
59
|
+
|
43
60
|
end
|
44
61
|
|
45
62
|
def self.prepare_config_repo
|
data/lib/info.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ebm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Seitz
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-26 00:00:00 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: subcommand
|