Mesa (master): pick-ui: compute .pick_status.json path only once

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 21 01:23:17 UTC 2020


Module: Mesa
Branch: master
Commit: 26a26a358484bf03a6498c4116d8cb496f668cc1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26a26a358484bf03a6498c4116d8cb496f668cc1

Author: Eric Engestrom <eric at engestrom.ch>
Date:   Tue Mar 10 11:10:08 2020 +0100

pick-ui: compute .pick_status.json path only once

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4649>

---

 bin/pick/core.py | 13 ++++++-------
 1 file 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}'))



More information about the mesa-commit mailing list