# MergeHub 진행 상황 **지금 무엇이 남았는지만** 적는다. 끝난 것의 상세는 [history/](history/) 로 옮겼다. 항목을 끝내면 이렇게 한다. 1. 상세는 `history/YYYY-MM-DD-주제.md` 에 적는다. 2. 이 파일은 **대기 → 완료로 상태만** 고친다. 3. [history/changelog.md](history/changelog.md) 에 한 줄을 더한다 (날짜 · 무엇을 왜 · 커밋). 푸시는 하지 않는다 — 사내 Gitea 저장소가 만들어지면 그때 한 번에 올린다. 상태 표기: `대기` · `진행` · `완료` --- ## 4차 — 로컬 머지툴 사용성 (2026-09-10) — **전부 끝** 진행 기록: [history/2026-09-10-4차.md](history/2026-09-10-4차.md) 지시서: [작업지시/4차.md](작업지시/4차.md). 기능을 늘리는 것이 아니라 매일 쓰는 사람의 걸림돌을 없애는 것이 목적이다. ### A. 작업한 것이 사라지는 문제 | 상태 | 항목 | |---|---| | **완료** | A-1 저장하지 않은 편집이 말없이 사라진다 | | **완료** | A-2 내보낸 보고서에 만든 사람이 없다 | ### B. 매일 쓰는 마찰 줄이기 | 상태 | 항목 | |---|---| | **완료** | B-1 최근 비교 목록 | | ~~취소~~ | ~~B-2 같은 줄 접기~~ (2026-09-10 사용자 판단으로 뺌) | | **완료** | B-3 폴더 비교에서 다음 다른 파일로 | | ~~취소~~ | ~~B-4 외부 편집기로 열기~~ (2026-09-10 사용자 판단으로 뺌) | ### C. 화면 구성 정리 | 상태 | 항목 | |---|---| | **완료** | C-1 같은 경로가 세 군데 나온다 | | **완료** | C-2 아래쪽 정보가 세 군데로 흩어져 있다 | | **완료** | C-3 Git 탭의 원격 블록을 접는다 | | **완료** | C-4 색 구분 범례를 이동 도구로 | | **완료** | C-5 ACTIONS 칸을 자주 쓰는 것과 한 번 정하는 것으로 나눈다 | ### D. 변경 이력을 전용 폴더로 | 상태 | 항목 | |---|---| | **완료** | D-1 `doc/history/` 를 만들고 진행상황을 나눈다 | | **완료** | D-2 앞으로의 기록 규칙을 정한다 | --- ## 5차 — 실제 소스에 맞추기 (2026-09-10 ~) 진행 기록: [history/2026-09-11-5차.md](history/2026-09-11-5차.md) 지시서: [작업지시/5차.md](작업지시/5차.md). 지금까지는 시험용 파일로만 확인했다. 5차는 실제 소스(2,115개 · 426,723줄)를 한 번 재 보고 나온 것들이다. 2026-09-11 부터는 실제 소스를 더 보지 않는다 - 여기는 머지툴을 만드는 자리이고, 시험 재료는 우리가 만들어 쓴다. 이미 받아 둔 숫자는 그대로 쓴다. ### A. 남의 소스를 망가뜨릴 수 있는 것 | 상태 | 항목 | |---|---| | **완료** | A-1 CP949 파일 67개를 잘못 읽으면 한글이 깨진다 | | **완료** | A-2 커밋·체크아웃 뒤에 저장 안 한 편집이 조용히 사라진다 | ### B. 실제 소스에 맞추기 | 상태 | 항목 | |---|---| | **완료** | B-1 XAML 색칠이 사실상 없다 (400개 · 42,477줄) | | **완료** | B-2 폴더 비교가 오래 걸린다 — 전체 비교 3.4배 · 빠른 비교 4.7배 | ### C. 실전 투입 | 상태 | 항목 | |---|---| | **완료** | C-1 병합을 한 번 끝까지 해 본다 — 커밋까지 갔다. 걸린 것 23가지(심각 5)가 6차 재료 | --- ## 6차 — 병합을 끝까지 믿고 쓸 수 있게 (2026-09-14 ~) 진행 기록: [history/2026-09-14-6차.md](history/2026-09-14-6차.md) 지시서: [작업지시/6차.md](작업지시/6차.md). 5차 C-1 에서 만든 저장소로 병합을 끝까지 해 보고 걸린 23가지다. 확인은 같은 저장소(`C1Repo`)로 한다. 실제 소스는 열지 않는다. ### A. 파일이나 이력을 망가뜨리는 것 | 상태 | 항목 | |---|---| | **완료** | A-1 3분할로 푼 파일을 저장하면 CRLF 가 LF 로 바뀐다 — 내 쪽(ours) 파일의 줄끝·인코딩을 따른다 | | **완료** | A-2 Save & Commit 이 "실패" 라는데 파일은 이미 써지고 스테이징됐다 — [해결로 저장] 을 따로 둠 | | **완료** | A-3 충돌 파일을 고르면 상대(Theirs) 칸이 안 나온다 — 콤보를 안 건드려도 네 칸, REMOTE 제목에 상대 브랜치 | | **완료** | A-4 상대가 지운 파일을 3분할이 다룰 줄 모른다 — 남은 파일을 두 칸으로, [파일 남기기] · [파일 지우기] 띠 | | **완료** | A-5 양쪽 새 파일에 Accept Both 를 누르면 빌드가 깨진다 — 누르기 전에 묻고, 글로 이어 붙여 BOM 한 번 · 줄끝 한 가지 | ### B. 헷갈리거나 막히는 것 | 상태 | 항목 | |---|---| | **완료** | B-1 충돌 목록에서 3분할 화면까지 가는 길이 끊겨 있다 — 병합 뒤 목록이 바로 서고, 두 번 누르기·Enter·[3분할로 열기] | | **완료** | B-2 확인 창이 엉뚱한 파일 이름을 댄다 — 이름·[저장하고 계속] 모두 실린 파일 기준, [취소] 뒤 콤보도 돌아온다 | | **완료** | B-3 커밋 메시지가 엉뚱하게 남는다 — 기본값 `Merge branch '상대' into 내 브랜치`, `#` 줄 뺌, 병합이 끝나면 칸을 비움 | | **완료** | B-4 MERGED 칸 줄 번호가 네 자리에서 잘린다 — 네 칸 여백을 66px 로, MERGED 번호 자리 20 → 36px(다섯 자리) | | **완료** | B-4 확인 중 발견 두 건 — 멀리 건너뛰면 네 칸이 위로 밀려 아래가 빔 · `git mergetool` 세 벌이 두 칸으로 열림 | | **완료** | B-5 머지 주석은 소스에 넣고, 병합 뒤에는 그 줄을 무시한다 — 비교(두 칸 · 네 칸 · 폴더)에서 가리고, 주석만 다른 git 충돌은 양쪽 주석을 남겨 자동으로 푼다. 설정에서 끔 | | **완료** | B-6 충돌 탭에서 하나씩 누를 때마다 오래 기다린다 — 여러 개 골라 Accept 한 번, 다시 읽기는 끝에 한 번. 15개 22.0초 → 1.2초 | | 대기 | B-7 상태바가 병합 중에 믿을 수 없는 값을 보인다 | | 대기 | B-8 병합 커밋 뒤 파일 비교 탭이 어정쩡하게 남는다 | ### C. 사소한 것 | 상태 | 항목 | |---|---| | 대기 | C-1 로그와 목록 다듬기 | ### D. 확인 | 상태 | 항목 | |---|---| | 대기 | D-1 병합을 처음부터 다시 끝까지 해 본다 | --- ## 3~4주차로 미룬 것 디테일이라 지금 붙잡을 일이 아니다. - 로그인·권한 - ~~대용량 파일 성능~~ — 잴 필요가 없어졌다(2026-09-10). 실제 소스의 가장 큰 파일이 7,479줄이고 편집·이동·재정렬이 모두 빠르다 - 같은 줄 접기 (4차 B-2) — 차이 이동만으로 부족하다고 느끼는 순간이 오면 그때 - 외부 편집기로 열기 (4차 B-4) — 설정 값 두 개를 채우는 수고가 얻는 것보다 컸다 드래그&드롭(D-7)과 비교 결과 내보내기(D-6)는 3차에서 앞당겨 끝냈다. --- ## 지난 기록 | 날짜 | 문서 | |---|---| | 2026-09-10 | [4차 — 로컬 머지툴 사용성](history/2026-09-10-4차.md) — 열세 항목, 열하나 완료 · 둘 취소 | | 2026-09-09 | [3차 — 버그 정리 + 기능 확장](history/2026-09-09-3차.md) — 스물세 항목, 전부 끝 | | 2026-09-08 | [2주차 — 폭 넓히기](history/2026-09-08-2주차.md) — 기능 덩어리 ①~⑤ | 한 줄 요약은 [history/changelog.md](history/changelog.md) 에 있다.