Files
Pier_v1/Code/tools/make_change_log_xlsx.py
T

36 lines
4.2 KiB
Python

"""날짜별 관리리스트(변경·이전 기록) 엑셀 생성. 사용: python make_change_log_xlsx.py <Pier_T_rebar> <changes.json> <출력 xlsx>"""
import json, sys
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment
root, chg, out = sys.argv[1], sys.argv[2], sys.argv[3]
R = root.rstrip("\\")
rows = [
(r"2026-10-28",r"폴더",r"작업 폴더 변경",r"Pier_T → pier_v1\Pier_T_rebar",r"D:\★Pier 자료\프로그램\Pier_T",R,r"새 폴더만 사용. 옛 폴더는 건드리지 않음",r"완료"),
(r"2026-10-28",r"대화기록",r"이전 대화 기록 복사",r"프로젝트 기록 3개 세션+메모리",r"C:\Users\User\.claude\projects\D---Pier---------Pier-T",r"C:\Users\User\.claude\projects\D---Pier----pier-v1-Pier-T-rebar",r"새 위치 폴더 삭제(원본 유지)",r"완료"),
(r"2026-10-28",r"지침",r"worktree 가이드 반영",r"CLAUDE.local.md, HANDOFF.md 신설, CLAUDE.md·.gitignore 추가",R+"\worktree-human-ai-guide.md",R,r"추가한 파일/줄을 삭제",r"완료"),
(r"2026-10-28",r"이전",r"정션 3개를 실제 폴더로 복사",r"rebar_pipeline(16), review_pipeline(123), pier-program(126)",r"D:\Rhino-MCP\rhino-mcp-main\*, D:\Rhino-MCP\pier-program",R+"\Code\*",r"원본은 그대로 있음. 사본 삭제 후 정션 재생성",r"완료(파일 수·용량 일치)"),
(r"2026-10-28",r"이전",r"rhino_mcp 서버 코드 복사",r"Code\rhino_mcp",r"D:\Rhino-MCP\rhino-mcp-main\rhino_mcp",R+"\Code\rhino_mcp",r"사본 삭제",r"완료"),
(r"2026-10-28",r"이전",r"Rhino 작업 배경 지침 복사",r"CLAUDE_rhino배경.md; CLAUDE.md의 @가져오기 변경",r"D:\Rhino-MCP\rhino-mcp-main\CLAUDE.md",R+"\CLAUDE_rhino배경.md",r"CLAUDE.md 가져오기 줄을 옛 경로로 되돌림",r"완료"),
(r"2026-10-28",r"설정",r"MCP 서버가 새 사본 사용",r"PYTHONPATH로 새 Code\rhino_mcp 우선 로드",r"conda 환경(rhino_mcp)은 D:\Rhino-MCP 가리킴(수정 안 함)",R+"\.mcp.json",r"env 항목 삭제",r"완료(import 확인)"),
(r"2026-10-28",r"Git",r"pier-program 내부 .git 제거",r"이력은 번들로 보관",r"Code\pier-program\.git",r"backup\pier-program_20261028.bundle (원본 저장소는 D:\Rhino-MCP\pier-program에 그대로)",r"번들 또는 원본에서 이력 복원",r"완료"),
(r"2026-10-28",r"경로",r"D:\Rhino-MCP 경로 문구 치환",rf"{len(json.load(open(chg,encoding='utf-8')))}개 파일(시트 '경로치환 파일')",r"D:\Rhino-MCP\...",r"Pier_T_rebar\Code\...",r"backup\경로치환_20261028\ 의 원본으로 덮어쓰기",r"완료"),
(r"2026-10-28",r"보류",r"Rhino_MCP_연결실행.bat 경로 유지",r"Rhino /runscript가 한글·공백 경로를 못 읽는다는 주석 때문",r"D:\Rhino-MCP\...\rhino_mcp_client.py",r"(변경 없음)",r"-",r"보류: 사용자 판단 필요"),
(r"2026-10-28",r"보류",r"메모리 사본 내 옛 경로 문구",r"context-migration\memory (원본과 어긋남 방지)",r"-",r"(변경 없음)",r"-",r"보류"),
(r"2026-10-28",r"Git",r"저장소 초기화 및 첫 커밋",r"브랜치 rebar, 3,979개 파일, 3dm·3dmbak·pkl·zip 제외",r"-",r"커밋 964a841",r"git reset 또는 .git 삭제",r"완료"),
(r"2026-10-28",r"Gitea",r"원격 연결 및 푸시",r"https://gitea.hmac.kr/ypshim/Pier_v1 의 rebar 브랜치(main/master는 건드리지 않음)",r"-",r"origin/rebar",r"원격 브랜치 rebar 삭제",r"푸시 후 갱신"),
]
wb = Workbook(); ws = wb.active; ws.title = "날짜별 관리리스트"
hdr = ["날짜","구분","작업","내용","이전(원본) 위치","이후(새) 위치","되돌리는 방법","상태"]
ws.append(hdr)
for r in rows: ws.append(r)
ws2 = wb.create_sheet("경로치환 파일"); ws2.append(["파일(Pier_T_rebar 기준)","치환 횟수","치환 전 원본 보관"])
for c in json.load(open(chg,encoding="utf-8")): ws2.append([c["file"],c["count"],"backup\경로치환_20261028\\"+c["file"]])
for w,widths in ((ws,[12,9,30,48,52,52,40,22]),(ws2,[70,10,80])):
for i,x in enumerate(widths): w.column_dimensions[chr(65+i)].width = x
for c in w[1]: c.font=Font(bold=True,color="FFFFFF"); c.fill=PatternFill("solid",fgColor="305496")
w.freeze_panes="A2"
for row in w.iter_rows(min_row=2):
for c in row: c.alignment=Alignment(wrap_text=True,vertical="top")
wb.save(out)