Skip to content

Commit a4e9edd

Browse files
committed
🎨 Move conf path from global scope to CherryPicker
1 parent 7295b59 commit a4e9edd

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

‎cherry_picker/cherry_picker/cherry_picker.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,6 @@
1515

1616
from . import __version__
1717

18-
19-
chosen_config_path = None
20-
"""The config reference used in the current runtime.
21-
22-
It starts with a Git revision specifier, followed by a colon
23-
and a path relative to the repo root.
24-
"""
25-
2618
CREATE_PR_URL_TEMPLATE = ("https://api.github.com/repos/"
2719
"{config[team]}/{config[repo]}/pulls")
2820
DEFAULT_CONFIG = collections.ChainMap({
@@ -58,8 +50,16 @@ def __init__(self, pr_remote, commit_sha1, branches,
5850
*, dry_run=False, push=True,
5951
prefix_commit=True,
6052
config=DEFAULT_CONFIG,
53+
chosen_config_path=None,
6154
):
6255

56+
self.chosen_config_path = chosen_config_path
57+
"""The config reference used in the current runtime.
58+
59+
It starts with a Git revision specifier, followed by a colon
60+
and a path relative to the repo root.
61+
"""
62+
6363
self.config = config
6464
self.check_repo() # may raise InvalidRepoException
6565

@@ -80,6 +80,12 @@ def __init__(self, pr_remote, commit_sha1, branches,
8080
self.push = push
8181
self.prefix_commit = prefix_commit
8282

83+
def set_paused_state():
84+
"""Save paused progress state into Git config."""
85+
if self.chosen_config_path is not None:
86+
save_cfg_vals_to_git_cfg(config_path=self.chosen_config_path)
87+
set_state('BACKPORT_PAUSED')
88+
8389
@property
8490
def upstream(self):
8591
"""Get the remote name to use for upstream branches
@@ -475,13 +481,13 @@ def cherry_pick_cli(ctx,
475481

476482
click.echo("\U0001F40D \U0001F352 \u26CF")
477483

478-
global chosen_config_path
479484
chosen_config_path, config = load_config(config_path)
480485

481486
try:
482487
cherry_picker = CherryPicker(pr_remote, commit_sha1, branches,
483488
dry_run=dry_run,
484-
push=push, config=config)
489+
push=push, config=config,
490+
chosen_config_path=chosen_config_path)
485491
except InvalidRepoException:
486492
click.echo(f"You're not inside a {config['repo']} repo right now! \U0001F645")
487493
sys.exit(-1)
@@ -649,14 +655,6 @@ def get_sha1_from(commitish):
649655
return subprocess.check_output(cmd).strip().decode('utf-8')
650656

651657

652-
def set_paused_state():
653-
"""Save paused progress state into Git config."""
654-
global chosen_config_path
655-
if chosen_config_path is not None:
656-
save_cfg_vals_to_git_cfg(config_path=chosen_config_path)
657-
set_state('BACKPORT_PAUSED')
658-
659-
660658
def reset_stored_config_ref():
661659
"""Remove the config path option from Git config."""
662660
wipe_cfg_vals_from_git_cfg('config_path')

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy