Skip to content

Commit 3e1b0f6

Browse files
takemi-ohamaclaude
andcommitted
refactor(editor): tasks.json 廃止で dead code 化した container_name 引数を削除
_maybe_place_terminal_task 削除により container_name の唯一の供給元が消え、 _maybe_open_editor / open_editor の container_name 引数は常に None となる dead code になっていた。gemini レビュー指摘に従い以下を整理する。 - _maybe_open_editor: container_name 引数と docstring 説明・open_editor への伝播を削除 - open_editor: container_name 引数と docstring 説明を削除し container = resolve_container_name(...) に簡約 - test_open_editor_uses_given_container_name テストを削除 build_attach_uri / resolve_container_name / _query_container_name は別物のため不変更。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 37b6e3f commit 3e1b0f6

3 files changed

Lines changed: 3 additions & 28 deletions

File tree

lib/devbase/commands/container.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ def _resolve_open_index(open_index: Optional[int], scale: int) -> int:
416416

417417
def _maybe_open_editor(project_name: str, open_flag: Optional[bool],
418418
open_index: Optional[int], scale: int,
419-
compose_file=None, container_name: Optional[str] = None) -> None:
419+
compose_file=None) -> None:
420420
"""`up` 完了後に dev コンテナへ接続したエディタを開く ([6/6])。
421421
422422
有効判定は ``open_flag`` (CLI ``--open``/``--no-open``) が優先、None なら env
@@ -429,9 +429,6 @@ def _maybe_open_editor(project_name: str, open_flag: Optional[bool],
429429
``compose_file`` は実コンテナ名問い合わせ用の override compose。``up`` 起動時と
430430
同じファイルを渡さないと ``{dev}-{index}`` サービスが見えず実名取得に失敗する。
431431
未指定なら ``.docker-compose.scale.yml`` が存在すればそれ、無ければ None。
432-
433-
``container_name`` が渡されれば :func:`opener.open_editor` 内の
434-
``resolve_container_name`` (= ``docker compose ps``) をスキップして再利用する。
435432
"""
436433
from devbase.editor import opener
437434

@@ -456,7 +453,6 @@ def _maybe_open_editor(project_name: str, open_flag: Optional[bool],
456453
workdir=workdir,
457454
index=open_index,
458455
compose_file=compose_file,
459-
container_name=container_name,
460456
)
461457
except Exception as e: # noqa: BLE001 - エディタ起動で up を倒さない
462458
logger.warning("エディタの自動オープンに失敗しましたがデプロイは成功しています: %s", e)

lib/devbase/editor/opener.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ def _launch(cmd: list, env: dict) -> None:
462462

463463

464464
def open_editor(*, project_name: str, dev_service_name: str, workdir: str,
465-
index: int = 1, compose_file=None, container_name: Optional[str] = None,
465+
index: int = 1, compose_file=None,
466466
environ=None,
467467
isatty: Optional[bool] = None, system: Optional[str] = None,
468468
launcher: Optional[Callable[[list, dict], None]] = None) -> str:
@@ -472,8 +472,6 @@ def open_editor(*, project_name: str, dev_service_name: str, workdir: str,
472472
握り潰して warning にし、``up`` 本体を絶対に失敗させない。``isatty`` /
473473
``system`` は :func:`detect_context` への差し替え口 (テスト用)。``compose_file``
474474
は実コンテナ名問い合わせ時に起動と同じ override compose を ``-f`` で渡すため。
475-
``container_name`` が渡されれば :func:`resolve_container_name` (= ``docker compose
476-
ps``) をスキップしてそれを使う (呼び出し側で解決済みの名前を使い回す)。
477475
"""
478476
env = os.environ if environ is None else environ
479477
ctx = detect_context(env, isatty=isatty, system=system)
@@ -487,7 +485,7 @@ def open_editor(*, project_name: str, dev_service_name: str, workdir: str,
487485
logger.info("エディタの自動オープンをスキップ: %s", plan.reason)
488486
return "skip"
489487

490-
container = container_name or resolve_container_name(
488+
container = resolve_container_name(
491489
dev_service_name, project_name, index, compose_file=compose_file)
492490
# SSH コンテキストでのみネスト authority (@ssh-remote+host) を組む。自動推測は
493491
# VS Code Remote-SSH 統合端末 (in_vscode) の時だけ有効にする — plain SSH (VS Code 外)

tests/editor/test_opener.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -508,25 +508,6 @@ def test_open_editor_flat_uri_when_ssh_host_unset(monkeypatch):
508508
assert "@ssh-remote" not in calls[0][2]
509509

510510

511-
def test_open_editor_uses_given_container_name(monkeypatch):
512-
"""container_name を渡すと resolve_container_name を呼ばずそれを使う。"""
513-
monkeypatch.setattr(opener.shutil, "which", lambda c: "/usr/bin/code")
514-
515-
def boom(*a, **k):
516-
raise AssertionError("resolve_container_name should not be called")
517-
518-
monkeypatch.setattr(opener, "resolve_container_name", boom)
519-
calls = []
520-
opener.open_editor(
521-
project_name="carmo", dev_service_name="dev", workdir="/work/carmo",
522-
container_name="preresolved-dev-1", environ={}, isatty=True,
523-
launcher=lambda cmd, env: calls.append(cmd),
524-
)
525-
uri = calls[0][2]
526-
hexpart = uri.split("attached-container+")[1].split("/work")[0]
527-
assert json.loads(bytes.fromhex(hexpart).decode())["containerName"] == "/preresolved-dev-1"
528-
529-
530511
def test_open_editor_skip_when_no_editor(monkeypatch):
531512
monkeypatch.setattr(opener.shutil, "which", lambda c: None)
532513
calls = []

0 commit comments

Comments
 (0)