From ff51e09e170bd7508b8e20e9946ded5af0aa4c92 Mon Sep 17 00:00:00 2001
From: ilovezfs <ilovezfs@icloud.com>
Date: Tue, 27 Sep 2016 02:50:46 -0700
Subject: [PATCH] bump-formula-pr: forced_version support for devel

---
 Library/Homebrew/dev-cmd/bump-formula-pr.rb | 22 ++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/Library/Homebrew/dev-cmd/bump-formula-pr.rb b/Library/Homebrew/dev-cmd/bump-formula-pr.rb
index 4ad2307038..f36584ff63 100644
--- a/Library/Homebrew/dev-cmd/bump-formula-pr.rb
+++ b/Library/Homebrew/dev-cmd/bump-formula-pr.rb
@@ -164,17 +164,25 @@ module Homebrew
     end
 
     if forced_version && forced_version != "0"
-      if File.read(formula.path).include?("version \"#{old_formula_version}\"")
-        replacement_pairs << [old_formula_version.to_s, forced_version]
-      else
-        if new_mirror
-          replacement_pairs << [/^( +)(mirror \"#{new_mirror}\"\n)/m, "\\1\\2\\1version \"#{forced_version}\"\n"]
+      if requested_spec == :stable
+        if File.read(formula.path).include?("version \"#{old_formula_version}\"")
+          replacement_pairs << [old_formula_version.to_s, forced_version]
         else
-          replacement_pairs << [/^( +)(url \"#{new_url}\"\n)/m, "\\1\\2\\1version \"#{forced_version}\"\n"]
+          if new_mirror
+            replacement_pairs << [/^( +)(mirror \"#{new_mirror}\"\n)/m, "\\1\\2\\1version \"#{forced_version}\"\n"]
+          else
+            replacement_pairs << [/^( +)(url \"#{new_url}\"\n)/m, "\\1\\2\\1version \"#{forced_version}\"\n"]
+          end
         end
+      elsif requested_spec == :devel
+        replacement_pairs << [/(  devel do.+?version \")#{old_formula_version}(\"\n.+?end\n)/m, "\\1#{forced_version}\\2"]
       end
     elsif forced_version && forced_version == "0"
-      replacement_pairs << [/^  version \"[a-z\d+\.]+\"\n/m, ""]
+      if requested_spec == :stable
+        replacement_pairs << [/^  version \"[a-z\d+\.]+\"\n/m, ""]
+      elsif requested_spec == :devel
+        replacement_pairs << [/(  devel do.+?)^ +version \"[^\n]+\"\n(.+?end\n)/m, "\\1\\2"]
+      end
     end
     new_contents = inreplace_pairs(formula.path, replacement_pairs)
 
-- 
GitLab