diff --git a/doc/history/2026-09-17-9차.md b/doc/history/2026-09-17-9차.md index ab2c54c..dc53d44 100644 --- a/doc/history/2026-09-17-9차.md +++ b/doc/history/2026-09-17-9차.md @@ -221,3 +221,53 @@ - 로컬 파일은 브라우저 창에서 스크립트로 넘길 수 없어 미리 보기는 하지 않았다. 제품 코드는 바꾸지 않았다. + +## D-1. cherry-pick · revert 를 마지막 파일까지 네 칸으로 끝까지 (+ 병합 · rebase 회귀) (2026-09-17, 완료) + +지시서대로 **고치지 않고 적기만 했다.** 제품 코드는 바꾸지 않았다(웹 문서의 "9차 진행" 표시만 "9차 끝" 으로 맞춰 아티팩트 버전 10). + +### 무엇으로 했나 + +- 길마다 `C1Repo` 로 저장소를 새로 만들고 **파일 비교 탭을 미리 열지 않았다**(`D7_NO_PREOPEN=1`). 이름 창은 [저장], 설정 `CSharpBraceStyle` 은 길마다 백업 → 끔 → 되돌림(네 번 모두 해시 같음). +- 병합 · rebase · cherry-pick 은 8차 E-1 과 같은 순서(같은 줄 충돌 15개 파일 단위 Accept Theirs → NewPanel Accept Both [아니오] → [3분할로 열기] 뒤 저절로 열리는 파일마다 Theirs · Mine 번갈아 [Save] · 띠 [파일 지우기] · [파일 남기기]). 마지막 파일 `Weld/Unit1.cs` 는 네 칸 [Save]. +- **cherry-pick 은 [모든 브랜치] 를 켜고** 이력에서 `상대 쪽 작업` 을 골랐다. **revert 도 [모든 브랜치] 를 켜고** `feature/revert` 에서 `내 쪽 작업` 을 골라, 15개는 파일 단위 Accept Theirs · **마지막 `Motion/Unit0.cs` 는 네 칸**에서 Take Theirs 6 → [Save] (8차 E-1 revert 는 마지막을 파일 단위로 풀었다). +- 새로 넣은 확인 — **기준 대조**: 마지막 [Save] 뒤 HEAD · 제목의 해시 · Selected Commit · 요약의 N줄을 `git diff -U0 HEAD`(머지 주석 줄 뺀 +/− 줄 수)와 견줌. **커밋 뒤 보기**: [병합 커밋] · [계속] · [커밋] 뒤 파일 비교 탭의 Selected Commit 이 새 HEAD 인지. + +### 네 길의 결과 + +| 확인 | ① 병합 | ③ rebase | ④ cherry-pick ([모든 브랜치]) | ⑤ revert ([모든 브랜치]) | +|---|---|---|---|---| +| 줄 고른 로그 | 18줄 · "3-Way 안 씀" 0 | 18줄 · 0 | 18줄 · 0 (다시 한 회차) | 6줄 · 0 | +| 마지막 [Save] 한 파일 | Weld/Unit1.cs (네 칸) | Weld/Unit1.cs | Weld/Unit1.cs | **Motion/Unit0.cs (네 칸)** | +| 마지막 Save 뒤 제목 | `53493f7 · Weld/Unit1.cs · 병합 전 내 쪽` | `285f078 · … · 올릴 자리` | `09273c6 · … · 가져오기 전 내 쪽` | `81b33fa · Motion/Unit0.cs · 되돌리기 전 내 쪽` | +| 마지막 Save 뒤 요약 | 충돌 정리 끝 · 병합 커밋을 할 수 있습니다 · 내 쪽 대비 받은 변경 3줄 | … · [계속] 으로 rebase 를 이어 갑니다 · 올릴 자리 대비 올린 변경 3줄 | … · [커밋] 으로 cherry-pick 을 끝냅니다 · 내 쪽 대비 가져온 변경 3줄 | … · [커밋] 으로 revert 를 끝냅니다 · 내 쪽 대비 되돌린 변경 6줄 | +| 기준 대조 (HEAD = 제목 = Selected Commit, N = git) | **같음** · git +3 −3 (주석 3 뺌) | **같음** · +3 −3 | **같음** · +3 −3 | **같음** · +6 −6 (주석 6 뺌) | +| 끝낸 커밋 | `29c83ee` 부모 둘 · 본문 **충돌 해결 26개 · 김승준** | `83f1d7a` 부모 하나(올릴 자리 위) | `52ba0dd` 부모 하나 · 작성자 **박지훈** · 커밋한 사람 시험 | `aab2f8d` Revert "내 쪽 작업" · REVERT_HEAD 없음 | +| 커밋 뒤 파일 비교 탭 기준 | 새 HEAD `29c83ee` | 새 HEAD `83f1d7a` | 새 HEAD `52ba0dd` | 새 HEAD `aab2f8d` | +| 줄끝 · BOM · 인코딩 바뀐 파일 | **0 / 33** | **0 / 31** | **0 / 33** | **0 / 36** | +| 충돌 표식 · class 이름 다른 Unit | 0 · 0 | 0 · 0 | 0 · 0 | 0 · 0 | +| 빈 cherry-pick (방금 만든 HEAD 를 다시) | - | - | [커밋] **꺼짐** · 로그 "cherry-pick 했지만 가져올 변경이 없습니다 - [작업 취소] 로 끝냅니다" · [작업 취소] 로 나옴 | - | + +### 판정 기준 + +| 기준 | 결과 | +|---|---| +| 네 길 모두 MergeHub 만으로 끝까지 | **됐다** (cherry-pick 은 두 번째 회차 — 아래) | +| 줄끝 · BOM 바뀐 파일 0 · 충돌 표식 0 · class 이름 다른 Unit 파일 0 | **네 길 모두 0** | +| 마지막 [Save] 뒤 제목 · 요약 · 실제 기준이 서로 같다 | **네 길 모두 같음** — 요약의 N 도 git diff 와 같음 | +| 8차 A-1 · B-1 · B-2 · F-1 다시 안 남 | **안 남** — [3분할로 열기] 로 처음 열어도 고른 파일(class 검사 0), rebase "올릴 자리", 빈 cherry-pick [커밋] 꺼짐, 병합 본문 26개 | +| (9차 A-2) 커밋 뒤 기준 | 네 길 모두 새 HEAD | + +### 새로 걸린 것 (고치지 않음) + +| # | 무엇 | 근거 | +|---|---|---| +| N1 | cherry-pick 첫 회차에서 `Motion/Unit0.cs` 충돌 6개를 차례로 고른 뒤 요약이 **"남은 충돌 1개"** 로 남아 [Save] 가 꺼졌고, 흐름이 거기서 멈췄다(충돌 5개 남은 채 끝). | 줄 고른 로그가 병합 · rebase 는 18줄인데 그 회차는 10줄 — Unit0 에서 **고르기 한 번이 로그에 남지 않았다**. 새 저장소로 같은 순서를 다시 하니 18줄 · 끝까지 갔다. 누름 한 번이 앱에 닿지 않은 자동 조작 쪽 문제로 보이지만(7차 C-2 · 8차 C-1 의 목록 선택이 안 닿던 것과 같은 모양) 원인을 가려 보지는 않았다. 사람이 겪는다면 "남은 충돌 1개" 와 [다음 충돌] 이 남은 곳을 알려 주므로 막히지는 않는다. | + +### 시험 도구 쪽 (제품 결함 아님) + +- 결과 확인 스크립트가 부모 하나인 커밋(rebase · cherry-pick · revert)에서 merge-base 사용법 오류를 찍지만, 줄끝 판정은 첫 부모와 제대로 한다(8차 E-1 과 같음). +- 빈 cherry-pick 뒤 진행 줄 읽기가 빈 글로 나온 것은 스크립트가 "남은 충돌 · 충돌 정리 끝" 으로 시작하는 줄만 읽어서다. 안내 글은 로그와 [커밋] 꺼짐으로 확인했다. +- pull 은 지시서 범위(병합 · rebase 회귀)가 아니라 이번에 돌리지 않았다. + +코드는 바꾸지 않았으므로 검사는 그대로(하네스 22벌 1,122건) · 빌드 경고 0 · 오류 0. 설정 · 창 기억은 되돌림, 앱 꺼짐. diff --git a/doc/history/changelog.md b/doc/history/changelog.md index ab45aac..2a2012e 100644 --- a/doc/history/changelog.md +++ b/doc/history/changelog.md @@ -8,6 +8,7 @@ | 날짜 | 항목 | 커밋 | |---|---|---| +| 2026-09-17 | **9차 D-1** — 병합 · rebase · cherry-pick · revert 를 새 저장소에서 파일 비교 탭을 미리 열지 않고 끝까지(코드 변경 없음). cherry-pick · revert 는 [모든 브랜치] 를 켜고 마지막 파일을 네 칸으로. 네 길 모두 마지막 Save 뒤 제목 · 요약 · 기준(HEAD) 같음 · 요약 N줄 = git diff · 커밋 뒤 기준 새 HEAD · 줄끝 · BOM 바뀐 파일 0 · class 검사 0. 새로 걸린 것: N1 cherry-pick 첫 회차에서 고르기 한 번이 안 남아 "남은 충돌 1개" 로 멈춤(다시 하니 끝까지) → 10차. **9차 전부 끝**. 웹 문서 "9차 끝" (아티팩트 버전 10) | 아래 | | 2026-09-17 | **9차 C-1** — 웹 문서가 8차 D-1(E-1 · F-1 전)에서, "지금까지 만든 것" 은 6차에서 멈춰 있었다. 개요 숫자(22벌 1,122건 · 커밋 104), 매뉴얼에 병합 커밋 본문 해결 내역 · 해결 기록이 남는 곳 · 마지막 저장 뒤 기준 HEAD · 한계 넷, 남은 일에 8차 끝 · 9차 표, 지금까지 만든 것 7~9차. 화면 문구 grep 대조 · 태그 짝 맞음. 아티팩트 버전 9. 제품 코드 변경 없음 | 아래 | | 2026-09-17 | **9차 B-2** — 5차에 "폴더 비교 뒤 트리를 세우는 데 1초 남짓" 으로 적어 둔 것을 앱 안 임시 측정(잰 뒤 되돌림)으로 단계별로 쟀다. 4,500개 묶음에서 트리 만들기 5~17ms · 첫 화면까지 0.13초(필터 전체 0.24초), 비교는 데운 뒤 0.7초. 5차 값은 자동 조작 대기가 섞였다. 줄일 자리가 없어 고치지 않음(코드 변경 없음). 그날 첫 비교 9.2초는 적어 둠 | 아래 | | 2026-09-17 | **9차 B-1** — 네 칸에서 줄을 반영하며 넣은 머지 주석 줄이 넣는 순간 "추가"(파랑)였다가 다시 정렬하면 "무시"(회색)로 바뀌었고, LOCAL(Mine) 칸에 내 파일에 없는 주석 글이 보였다. 사용자 결정대로 넣는 순간부터 다시 정렬한 모양(규칙 켜짐이면 무시 · Mine 빈 자리)으로 넣는다. 파일에 원래 있던 주석 줄과 같은 색. 하네스 NoteTest +5 | 아래 | diff --git a/doc/web/index.html b/doc/web/index.html index ad07b75..8b1c2b1 100644 --- a/doc/web/index.html +++ b/doc/web/index.html @@ -257,8 +257,8 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px}
8차까지 모두 끝났고 9차는 A · B 를 끝냈다. 차수별로 무엇을 고쳤는지와, 아직 남은 것 · 일부러 미뤄 둔 것.
+9차까지 모두 끝났다. 차수별로 무엇을 고쳤는지와, 아직 남은 것 · 일부러 미뤄 둔 것.
2026-09-07 방향 전환부터 2026-09-17 9차 B-2 까지. 차수마다 “실제로 써 보고 걸린 것” 을 지시서로 만들어 하나씩 고쳤다.
+2026-09-07 방향 전환부터 2026-09-17 9차 끝까지. 차수마다 “실제로 써 보고 걸린 것” 을 지시서로 만들어 하나씩 고쳤다.