diff options
author | Eric Engestrom <[email protected]> | 2020-03-10 11:10:08 +0100 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-04-21 01:13:53 +0000 |
commit | 26a26a358484bf03a6498c4116d8cb496f668cc1 (patch) | |
tree | 33a090c4e6d966ea90e87e67ee772469d521cc49 | |
parent | a4b36cd3dd307d75913dbc183cdf2d0c1e97ea0e (diff) |
pick-ui: compute .pick_status.json path only once
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Dylan Baker <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4649>
-rw-r--r-- | bin/pick/core.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/bin/pick/core.py b/bin/pick/core.py index dab6028a4b0..dbfce46c36f 100644 --- a/bin/pick/core.py +++ b/bin/pick/core.py @@ -55,6 +55,8 @@ SEM = asyncio.Semaphore(50) COMMIT_LOCK = asyncio.Lock() +pick_status_json = pathlib.Path(__file__).parent.parent.parent / '.pick_status.json' + class PickUIException(Exception): pass @@ -80,10 +82,9 @@ class Resolution(enum.Enum): async def commit_state(*, amend: bool = False, message: str = 'Update') -> bool: """Commit the .pick_status.json file.""" - f = pathlib.Path(__file__).parent.parent.parent / '.pick_status.json' async with COMMIT_LOCK: p = await asyncio.create_subprocess_exec( - 'git', 'add', f.as_posix(), + 'git', 'add', pick_status_json.as_posix(), stdout=asyncio.subprocess.DEVNULL, stderr=asyncio.subprocess.DEVNULL, ) @@ -360,18 +361,16 @@ async def gather_commits(version: str, previous: typing.List['Commit'], def load() -> typing.List['Commit']: - p = pathlib.Path(__file__).parent.parent.parent / '.pick_status.json' - if not p.exists(): + if not pick_status_json.exists(): return [] - with p.open('r') as f: + with pick_status_json.open('r') as f: raw = json.load(f) return [Commit.from_json(c) for c in raw] def save(commits: typing.Iterable['Commit']) -> None: - p = pathlib.Path(__file__).parent.parent.parent / '.pick_status.json' commits = list(commits) - with p.open('wt') as f: + with pick_status_json.open('wt') as f: json.dump([c.to_json() for c in commits], f, indent=4) asyncio.ensure_future(commit_state(message=f'Update to {commits[0].sha}')) |