@@ -10,7 +10,11 @@ unless `which heroku` =~ /heroku/ |
||
10 | 10 |
end |
11 | 11 |
|
12 | 12 |
def capture(cmd, opts = {}) |
13 |
- o, s = Open3.capture2e(cmd, opts) |
|
13 |
+ if opts.delete(:no_stderr) |
|
14 |
+ o, s = Open3.capture2(cmd, opts) |
|
15 |
+ else |
|
16 |
+ o, s = Open3.capture2e(cmd, opts) |
|
17 |
+ end |
|
14 | 18 |
o.strip |
15 | 19 |
end |
16 | 20 |
|
@@ -33,7 +37,7 @@ def yes?(question) |
||
33 | 37 |
end |
34 | 38 |
|
35 | 39 |
def grab_heroku_config! |
36 |
- config_data = capture("heroku config -s") |
|
40 |
+ config_data = capture("heroku config -s", no_stderr: true) |
|
37 | 41 |
$config = {} |
38 | 42 |
if config_data !~ /has no config vars/ |
39 | 43 |
config_data.split("\n").map do |line| |
@@ -80,6 +84,29 @@ unless yes?("Your Heroku app name is #{app_name}. Is this correct?") |
||
80 | 84 |
exit 1 |
81 | 85 |
end |
82 | 86 |
|
87 |
+if (root_id = `git rev-list --max-parents=0 HEAD`.chomp) != '620acffa5a302c6a27165d3214cf3da6be6c1d0d' |
|
88 |
+ if (`git remote`.split - %w[heroku]).empty? |
|
89 |
+ puts "You don't seem to have cantino/huginn set up as upstream repository." |
|
90 |
+ if yes?("Would you like me to set this work tree up for you?") |
|
91 |
+ if system('git remote add origin https://github.com/cantino/huginn.git') && |
|
92 |
+ system('git remote update origin') |
|
93 |
+ rebase_command = "git rebase #{root_id} --onto origin/master" |
|
94 |
+ if system(rebase_command) |
|
95 |
+ puts "Done!" |
|
96 |
+ else |
|
97 |
+ system('git rebase --abort') |
|
98 |
+ puts "Rebasing your work tree onto the upstream master failed." |
|
99 |
+ puts "Please run the following command and merge your local changes by yourself." |
|
100 |
+ puts "\t#{rebase_command}" |
|
101 |
+ exit 1 |
|
102 |
+ end |
|
103 |
+ else |
|
104 |
+ exit 1 |
|
105 |
+ end |
|
106 |
+ end |
|
107 |
+ end |
|
108 |
+end |
|
109 |
+ |
|
83 | 110 |
grab_heroku_config! |
84 | 111 |
|
85 | 112 |
if $config.length > 0 |