from pathlib import Path
import subprocess, json
ROOT=Path(__file__).resolve().parent; WS=ROOT/'workspace'
if not (WS/'.git').exists(): raise SystemExit('Run setup_fixture.py first.')
def out(args): return subprocess.run(args,cwd=WS,text=True,capture_output=True,check=True).stdout.strip()
print('TOPIC_REF',out(['git','branch','--show-current']))
print('TOPIC_HEAD',out(['git','rev-parse','HEAD']))
print('TARGET_HEAD',out(['git','rev-parse','main']))
print('MERGE_BASE',out(['git','merge-base','HEAD','main']))
print('STATUS')
print(out(['git','status','--porcelain=v1','--untracked-files=all']))
print('TOPIC_VS_BASE')
print(out(['git','diff','--name-status','$(git merge-base HEAD main)','HEAD']) if False else out(['git','diff','--name-status',out(['git','merge-base','HEAD','main']),'HEAD']))
print('TOPIC_VS_MAIN_THREE_DOT')
print(out(['git','diff','--name-status','main...HEAD']))
