diff --git a/gems/gitlab-housekeeper/lib/gitlab/housekeeper/git.rb b/gems/gitlab-housekeeper/lib/gitlab/housekeeper/git.rb index 8970eb9e5b7cb41d51abfe40a05e91b6279313dc..ed2970cb9e82b206d396a2b6807d80b03aa62fa4 100644 --- a/gems/gitlab-housekeeper/lib/gitlab/housekeeper/git.rb +++ b/gems/gitlab-housekeeper/lib/gitlab/housekeeper/git.rb @@ -15,21 +15,17 @@ def initialize(logger:, branch_from: 'master') @branch_from = branch_from end - def with_clean_state + def with_clean_state(&block) result = Shell.execute('git', 'stash') stashed = !result.include?('No local changes to save') - with_return_to_current_branch(stashed: stashed) do - checkout_branch(@branch_from) - - yield - end + with_return_to_current_branch(stashed: stashed, &block) end def create_branch(change) branch_name = branch_name(change.identifiers) - Shell.execute("git", "branch", "-f", branch_name) + Shell.execute("git", "branch", "-f", branch_name, @branch_from) branch_name end diff --git a/gems/gitlab-housekeeper/lib/gitlab/housekeeper/runner.rb b/gems/gitlab-housekeeper/lib/gitlab/housekeeper/runner.rb index 15d881d59fa7148f7cc9be7eadbc45217834c838..5c9c91f174864253d998d78729a8c37921b53f9c 100644 --- a/gems/gitlab-housekeeper/lib/gitlab/housekeeper/runner.rb +++ b/gems/gitlab-housekeeper/lib/gitlab/housekeeper/runner.rb @@ -68,9 +68,9 @@ def run # If no merge request exists yet, create an empty one to allow keeps to use the web URL. unless @dry_run - merge_reqeust = get_existing_merge_request(branch_name) || create(change, branch_name) + merge_request = get_existing_merge_request(branch_name) || create(change, branch_name) - change.mr_web_url = merge_reqeust['web_url'] + change.mr_web_url = merge_request['web_url'] end git.in_branch(branch_name) do