11차 D-1: 시험 도구 둘 — 부모 하나 커밋 검사 · "차이 없음" 읽기

줄끝 검사 스크립트는 부모가 하나면 첫 부모와만 견준다고 적고 git merge-base 를 부르지 않는다. 요약 읽는 함수는 제품의 "차이 없음" 을 읽는다. rebase 한 길을 다시 돌려 오류 줄 0 · 커밋 뒤 요약 "차이 없음". 시험 도구는 저장소 밖이라 기록만. 제품 코드 변경 없음.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
김승준 2026-09-22 13:22:20 +09:00
parent 8e90f88099
commit d2709e3d4e
3 changed files with 14 additions and 1 deletions

View File

@ -368,6 +368,18 @@ libgit2 의 다듬기(`PrettifyMessages`)를 켜면 **손대지 않은 뒤 커
- 되돌릴 자리 `refs/original/…` 은 이력 목록에 안 보인다(목록은 브랜치만 훑음). 지우는 단추는 두지 않았다 — 되돌릴 일이 없으면 그대로 두어도 된다.
- HEAD 커밋도 이 메뉴로 바꿀 수 있다. [커밋 수정] 과 달리 **스테이징한 파일이 들어가지 않는** 메시지만 고치는 길이다.
## D-1. 시험 도구 둘 (2026-09-22, 완료 — 제품 코드 변경 없음)
| 도구 | 고치기 전 | 고친 것 |
|---|---|---|
| `d1-verify.ps1` (줄끝 · BOM · 표식 검사) | 부모 하나인 커밋(rebase · cherry-pick · revert)에도 없는 둘째 부모로 `git merge-base` 를 불러 사용법 글 · `null` 오류를 찍었다(판정 숫자는 맞았음) | 부모가 하나면 **첫 부모와만 견준다고 적고** merge-base 를 부르지 않는다. 견줄 부모 쪽 파일이 없는 새 파일은 가운데 BOM · 줄끝 섞임만 본다 |
| `d7lib.ps1` 의 `FileState` (파일 비교 탭 요약 읽기) | 요약 글을 "남은 충돌 · 충돌 정리 끝 · 남은 차이" 로만 찾아, 제품이 쓰는 **"차이 없음"**(편집이 있으면 "차이 없음 · 편집 N건 …")을 못 읽고 커밋 뒤 요약을 빈칸으로 적었다 | "차이 없음*" 도 요약으로 읽는다 (`HomeViewModel.cs:3486` 의 글과 맞춤) |
확인:
- 앱 없이 — 시험 저장소 HEAD(revert 커밋 `d59bc42`, 부모 하나)에 돌려 **오류 · 사용법 줄 0**, 결과는 E-1 revert 때와 같음(36개 · 다른 파일 0).
- 판정대로 rebase 한 길을 다시(`e11-e1-merge.ps1 -Way rebase`, 298초) — **오류 줄 0**, `[계속]` 뒤 파일 비교 탭 요약 **"차이 없음"**, "부모: … 하나 — 첫 부모와만 견준다", 누른 Take 18 = 로그 18 · 줄끝 · BOM 0/31 · 표식 0 · class 0 · 워킹트리 Clean · 설정 해시 같음.
- 고치기 전 두 파일은 `*.d1bak` 로 남김(시험 도구 폴더, 저장소 밖).
## E-1. 바꾼 길을 다시 끝까지 (2026-09-22, 완료 — 새로 걸린 것 없음)
11차에서 바뀐 것에 맞춰 넷을 돌렸다. A(변경분 추출) · C-1 · C-2 를 고쳤고, F-12 가 비교 · 저장에 걸리는 C# 스타일 기본값을, B-2 가 플랫폼 시작부를 바꿨으므로 **다섯 길 + pull** 도 다시 했다. 모두 Debug 출력(배포한 플랫폼 09-22 11:27 과 해시 같음), 사람 순서로(마우스 · 키보드).

View File

@ -8,6 +8,7 @@
| 날짜 | 항목 | 커밋 |
|---|---|---|
| 2026-09-22 | **11차 D-1** — 시험 도구 둘(제품 아님). 줄끝 검사 스크립트가 부모 하나인 커밋(rebase · cherry-pick · revert)에서 없는 둘째 부모로 `git merge-base` 를 불러 오류를 찍던 것 → 첫 부모와만 견준다고 적고 부르지 않음. 파일 비교 탭 요약을 읽는 함수가 제품의 "차이 없음" 을 못 읽어 커밋 뒤 요약이 빈칸이던 것 → 읽음. rebase 한 길을 다시 돌려 오류 줄 0 · 요약 "차이 없음". 제품 코드 변경 없음 | 아래 |
| 2026-09-22 | **11차 E-2** — 웹 문서(버전 13)와 기획안(버전 17)을 11차에 맞춤. 두 발행본 모두 로컬 파일과 같음을 먼저 확인. 매뉴얼에 "커밋 메시지 고치기"([커밋 수정] 과 우클릭 [메시지 바꾸기...] 를 한 표로) · "변경분 추출"(새 폴더 · 안내 파일) 두 절과 한계 셋, 남은 일 · 만든 것에 11차, 숫자 1,247건 · 커밋 129. 단추 이름 91개를 소스에서 찾아 09-18 에 적은 "맞추지 않음" 을 실제 글자 "C# 스타일 끔" 으로 바로잡음. 기획안은 커밋 메시지 수정 완료 · 4단계 준비 중 · 개정 09-22, 8쪽 A4 높이 그대로, 잠금은 사용자가 비밀번호로 | 아래 |
| 2026-09-22 | **11차 E-1** — 11차에서 바꾼 길을 사람 순서로 다시 끝까지(배포한 플랫폼 위에서). A-1 아홉 경우: 지운 파일 · 이름 바뀐 옛 경로 · 범위가 안내에 남고, 같은 폴더에 두 번 뽑아도 새 폴더 둘로 섞이지 않고, 읽기 전용 · 잠긴 파일이 있어도 막힘 없이 끝남(모두 바이트 같음). C-1 여덟 경우: HEAD 메시지 · 작성자 보존 · 스테이징 · 올린 커밋 묻는 창 · 작업 중 꺼짐 · 병합 커밋 부모 둘. C-2 로 이력을 다시 쓴 저장소(트리 · 작성자 · 시각 4/4 같음)에서 병합 한 길. 다섯 길 + pull 모두 누른 수 = 로그, 줄끝 · BOM · 충돌 표식 · class 0, 두 탭 같은 커밋. **새로 걸린 것 없음.** 시험 도구가 창을 앞으로 부르며 최대화를 풀어 첫 누름이 빗나가던 것을 고침(제품 아님). 제품 코드 변경 없음 | 아래 |
| 2026-09-22 | **11차 B-2** — 설정 없는 첫 실행을 `D:\UbisamConfig` 를 백업 · 이름 바꿔 재 봄: 오류 창 없음 · 이름 창 → 네 탭 · 기본값이 매뉴얼 설정 표와 같음 · 최대화. D 드라이브가 없는 경우는 코드로 따라가고 같은 줄(`UiSettingsService.cs:86`)에서 실패하게 해 보니, 공용 예외 창이 "계속 쓸 수 있습니다 · 로그에 남았습니다" 라고 한 뒤 **창 없는 프로세스만 남았다**. 플랫폼에서 고침(플랫폼 `377ffd3`, 사용자 결정) — D 를 못 쓰면 `%LOCALAPPDATA%\UbisamConfig`, 켜는 중 실패는 "켜지 못했습니다" 뒤 끝냄. MergeHub 쪽은 매뉴얼 설정 자리 문장 · 설정 클래스 주석만. 사용자 확인 뒤 플랫폼 배포(바뀐 것 Core · Shell · README 셋)하고 배포 묶음을 다시 만듦 | 아래 |

View File

@ -357,7 +357,7 @@
| 상태 | 항목 |
|---|---|
| 대기 | D-1 줄끝 검사 스크립트의 부모 하나 커밋 오류 · 요약 읽는 함수의 "차이 없음" (10차 E-1 에서 남김) |
| **완료** | D-1 줄끝 검사 스크립트의 부모 하나 커밋 오류 · 요약 읽는 함수의 "차이 없음" (10차 E-1 에서 남김) — 부모 하나면 첫 부모와만 견준다고 적고 merge-base 를 부르지 않음 · `FileState` 가 "차이 없음" 을 읽음. rebase 한 길 다시: 오류 줄 0 · 커밋 뒤 요약 "차이 없음". 제품 코드 변경 없음 |
### E. 확인 · 문서