lib/neetob/cli/github/make_pr/script.rb in neetob-0.4.6 vs lib/neetob/cli/github/make_pr/script.rb in neetob-0.4.7

- old
+ new

@@ -8,54 +8,64 @@ class CLI module Github module MakePr class Script < Base attr_accessor :repos, :sandbox, :path_to_the_script_file, :pr_description, :should_fix_nanos, - :should_fix_frontend_packages, :labels + :should_fix_frontend_packages, :labels, :local def initialize(repos, path_to_the_script_file, pr_title, branch_name, pr_description, should_fix_nanos, - should_fix_frontend_packages = false, sandbox = false, labels = "") + should_fix_frontend_packages = false, sandbox = false, labels = "", local = false) super(pr_title, branch_name) @repos = repos @sandbox = sandbox @path_to_the_script_file = path_to_the_script_file @pr_description = pr_description @should_fix_nanos = should_fix_nanos @should_fix_frontend_packages = should_fix_frontend_packages @labels = labels + @local = local end def run matching_repos = build_matching_repos_list(should_fix_nanos, should_fix_frontend_packages) - delete_and_create_temp_neetob_dir + local ? + warn_about_local_repos : + delete_and_create_temp_neetob_dir matching_repos.each do |repo| ui.info("\n Working on #{repo} \n") begin - shallow_clone_repo_in_tmp_dir(repo) - check_and_delete_remote_branch(repo) + if local + unless Dir.exist?("./#{repo}") + ui.error("#{repo} don't exist in current dir") + next + end + stash_local_changes(repo, local) + end + shallow_clone_repo_in_tmp_dir(repo) if !local + check_and_delete_remote_branch(repo, local) update_script_file_permissions - execute_script(repo) - ui.info(add_commmit_and_push_changes(repo)) - delete_local_feature_branch(repo) + execute_script(repo, local) + ui.info(add_commmit_and_push_changes(repo, local)) + delete_local_feature_branch(repo, local) pull_request = client.create_pull_request(repo, "main", branch_name, pr_title, pr_description) ui.success("PR created in \"#{repo}\" project successfully.") client.add_labels_to_an_issue(repo, pull_request[:number], labels.split(",")) rescue StandardError => e ExceptionHandler.new(e).process end end - `rm -rf /tmp/neetob` + `rm -rf /tmp/neetob` if !local end private def update_script_file_permissions `chmod +x #{path_to_the_script_file}` end - def execute_script(repo) - `#{cd_to_repo_in_tmp_dir(repo)} && #{path_to_the_script_file}` + def execute_script(repo, local_repo) + `#{cd_to_repo(repo, local_repo)} && #{path_to_the_script_file}` end end end end end