From 8e90f880997e5b872fc075690c7a7f177a5af596 Mon Sep 17 00:00:00 2001 From: ksj09406 Date: Tue, 22 Sep 2026 13:14:18 +0900 Subject: [PATCH] =?UTF-8?q?11=EC=B0=A8=20E-2:=20=EC=9B=B9=20=EB=AC=B8?= =?UTF-8?q?=EC=84=9C=20=C2=B7=20=EA=B8=B0=ED=9A=8D=EC=95=88=EC=9D=84=2011?= =?UTF-8?q?=EC=B0=A8=EC=97=90=20=EB=A7=9E=EC=B6=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MergeHub 문서 아티팩트 버전 13 — 매뉴얼에 커밋 메시지 고치기 · 변경분 추출 두 절, 한계 셋, 남은 일 · 만든 것 11차, 숫자 1,247건 · 커밋 129. 단추 이름 91개를 소스와 대조해 "맞추지 않음" 을 실제 글자 "C# 스타일 끔" 으로 바로잡음. 기획안 잠금 아티팩트 버전 17 — 커밋 메시지 수정 완료 · 4단계 준비 중(8쪽 A4 높이 그대로, 잠금은 사용자). 제품 코드 변경 없음. Co-Authored-By: Claude Opus 5 --- doc/history/2026-09-18-11차.md | 26 ++++++++- doc/history/changelog.md | 1 + doc/web/index.html | 104 ++++++++++++++++++++++++--------- doc/진행상황.md | 2 +- 4 files changed, 102 insertions(+), 31 deletions(-) diff --git a/doc/history/2026-09-18-11차.md b/doc/history/2026-09-18-11차.md index bc88573..6c26478 100644 --- a/doc/history/2026-09-18-11차.md +++ b/doc/history/2026-09-18-11차.md @@ -433,6 +433,28 @@ libgit2 의 다듬기(`PrettifyMessages`)를 켜면 **손대지 않은 뒤 커 - 하네스 22벌 1,247건 · 플랫폼 24건 그대로 · 빌드 경고 0 · 오류 0 · 설정 파일 되돌림 해시 매번 같음. 제품 코드 변경 없음. +## E-2. 웹 문서 · 기획안을 11차에 맞게 (2026-09-22, 완료) + +### MergeHub 문서 (`doc/web/index.html`, 아티팩트 "MergeHub 문서" 버전 11 → **13**) + +- 올리기 전에 발행본(버전 11)을 받아 로컬과 견줌 — 09-17 에 올린 그대로였고(다른 사람 손 없음), 그 뒤 로컬에서만 바뀐 것은 11차 F-12 · B-1 · B-2 문장뿐. +- 고친 것: + - 개요 — 09-22 기준 · 22벌 1,247건 · 11차 · 커밋 129 · 지시서 11차. + - 매뉴얼 — Git 탭 표에 우클릭 [메시지 바꾸기...] 와 아래 두 절 연결, **"커밋 메시지 고치기"**(두 길을 한 표로 — 고치는 커밋 · 메시지 넣기 · 함께 들어가는 것 · 이미 올린 커밋 · 남는 것 · 꺼지는 때, 되돌리는 길), **"변경분 추출"**(새 폴더 · 옆 안내 파일 · 먼저 보고 쓰기 · 병합 커밋 · 거꾸로 범위), 목차 둘, 알아 둘 한계 셋(메시지 칸 한 줄 · 올렸는지는 마지막 Fetch 기준 · D 없는 PC 는 계정마다 설정). 실행 위치(B-1) · 설정 위치(B-2) · C# 스타일 기본 AURORA(F-12)는 먼저 적어 둔 것이 함께 올라감. + - 남은 일 — 11차 표(완료 · 대기 · 진행). + - 지금까지 만든 것 — 09-22 11차 기록 · 커밋 129 · 1,247건 · 하네스 막대 11차(폭을 새 최댓값으로 다시 잼) · 기능 목록 Git 한 줄 · 배포 한 줄. + - 기획안 v2 — 커밋 메시지 수정 **완료**, 변경분 추출 설명, 3단계에 11차, 4단계 **진행**(베타 준비). + - WinMerge 쪽 숫자 1,247건. +- 대조: 문서의 단추 이름 91개를 소스(MergeHub · 플랫폼)에서 찾음 — **"맞추지 않음"(09-18 F-12 때 적은 말)이 실제 콤보 글자 "C# 스타일 끔" 과 달라** 문서 두 곳 · 이 기록 한 곳을 고침. 남은 하나(`비교 규칙 펴기` 의 공백 두 칸)는 화면에 보이는 글자가 같다. 태그 짝 모두 맞음. +- 공유 링크를 받은 사람에게는 **고정된 옛 버전**이 보이도록 되어 있다 — 새 버전을 보이려면 페이지 Share 메뉴에서 사용자가 바꾼다. + +### 기획안 v1.2 (잠금 아티팩트 "UbiSam MergeTool 개발 기획안" 버전 **17**) + +- 발행본을 받아 로컬 잠금 파일(09-17 17:06)과 견줌 — 암호문 · salt · IV 가 같음. 그러므로 고칠 원문은 09-17 원문(`plan/mergetool.html`). +- 원문에서 고친 것: 3.2 Git 작업 UI화의 **커밋 메시지 수정 → 완료**("마지막 커밋은 [커밋 수정], 앞 커밋은 트리에서 우클릭 → [메시지 바꾸기]"), 변경분 파일 추출 설명(새 폴더 · 지울 파일 안내, ZIP 이 없어 "일부" 그대로), 일정 요약(09-22 기준 · 1,247건 · 4단계 베타 준비 중), 3단계 "Git 작업 버튼" 한 줄, 4단계 상태 "대기" → "준비 중", 4단계 베타 줄, 개정일 09-22. +- **A4 쪽 높이**: 고치기 전 · 뒤 원문을 헤드리스 Edge 로 재니 8쪽 모두 1123px · 넘침 없음으로 같다. 기능 목록 쪽 그림으로 한 줄씩인 것 확인. +- **잠금은 사용자가 했다**(`lock-plan.js`, 비밀번호는 화면에 안 보이게 받아 어디에도 남기지 않음 · 비교할 원본은 09-17 원문). 첫 "잠갔어" 때는 잠금 파일이 09-17 것 그대로여서 올리지 않고 멈췄다(PowerShell 문법을 CMD 에서 돌린 것으로 보임). 두 번째에 새 salt · IV 의 잠금 파일(13:12)이 생겨 올렸고, 발행본의 암호문이 그 파일과 같음을 되읽어 확인했다. 스크립트 출력은 다른 창이라 직접 보지 못했다. + ## F-12. C# 코드 스타일 맞춤의 기본값을 AURORA 로 (2026-09-18, 완료) 사용자: "기본값은 원본형태를 따르고 C#인 경우에 AURORA 스타일로 하자" → 물어서 정한 것은 **제품 기본값 AURORA · C# 파일만 · 저장 동작은 지금 그대로**(켜져 있으면 저장도 그 스타일로 쓴다). @@ -447,9 +469,9 @@ libgit2 의 다듬기(`PrettifyMessages`)를 켜면 **손대지 않은 뒤 커 | 자리 | 고친 것 | |---|---| | `MergeHubSettings.cs:77` | `CSharpBraceStyle` 기본값 `None` → **`Aurora`**. 왜 그렇게 정했는지와 "C# 파일에만 걸린다" 를 주석으로 남김 | -| 웹 문서 매뉴얼 | "기본은 끔" → "**기본은 AURORA**(2026-09-18 결정) · 끄려면 콤보에서 [맞추지 않음]" · "C# 파일에만 걸린다" 한 줄 더함 | +| 웹 문서 매뉴얼 | "기본은 끔" → "**기본은 AURORA**(2026-09-18 결정) · 끄려면 콤보에서 [C# 스타일 끔]" · "C# 파일에만 걸린다" 한 줄 더함 | | 웹 문서 설정 표 | 기본값 칸 `끔` → `AURORA`, "`.cs` 파일에만 걸린다" | -| 웹 문서 시연 대본 | "스타일 맞춤은 끔으로 둔다" → "기본이 AURORA 이므로 시연 전에 [맞추지 않음] 으로 바꿔 둔다" | +| 웹 문서 시연 대본 | "스타일 맞춤은 끔으로 둔다" → "기본이 AURORA 이므로 시연 전에 [C# 스타일 끔] 으로 바꿔 둔다" | | 하네스 `StyleTest` | **+12건(78 → 90)** — 설정 기본값이 AURORA 인지, `.cpp` · `.h` · `.hpp` · `.c` · `.xaml` · `.py` · `.txt` · `.cs.txt` 는 안 걸리는지, `.cs` · `.CS` · 한글 경로 `.cs` 는 걸리는지. 고치기 전에 먼저 넣어 **기본값 검사만 실패**하는 것을 보고 시작했다 | ### 확인한 것 — 설정 파일이 없는 첫 실행 (`e11-f12.ps1`) diff --git a/doc/history/changelog.md b/doc/history/changelog.md index b3ba5d0..48a787f 100644 --- a/doc/history/changelog.md +++ b/doc/history/changelog.md @@ -8,6 +8,7 @@ | 날짜 | 항목 | 커밋 | |---|---|---| +| 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 셋)하고 배포 묶음을 다시 만듦 | 아래 | | 2026-09-22 | **11차 B-1** — 배포 묶음. 매뉴얼이 가리키던 Release 출력이 09-07 것이라 폴더 비교 탭 등 6차 이후가 없었다(형식 142개 중 74개 없음). Release 로 다시 빌드하고, 셸 · MergeHub 에서 참조를 따라가 **어디서도 닿지 않는 dll 7개**(OpenTK · GLWpfControl · SkiaSharp.Views · LiveCharts WPF · Extensions.Options 둘)와 맥 · 리눅스 · ARM 용 네이티브 · pdb · 빈 Lang 을 뺀 묶음을 만든다 — 97MB → 43.5MB. 플랫폼 Core 가 직접 참조하는 LiveCharts · Skia 는 사용자 결정대로 남김. 새 `scripts\make-bundle.ps1` 이 빌드 · 묶기 · `배포묶음.txt`(무엇이 왜 들었는지)를 하고, 남의 파일이 든 폴더는 비우지 않는다. 빈 폴더에서 켜 네 탭 · 병합 한 길 끝까지. 제품 코드 변경 없음 | 아래 | diff --git a/doc/web/index.html b/doc/web/index.html index 3bf4f73..7d31ecd 100644 --- a/doc/web/index.html +++ b/doc/web/index.html @@ -217,7 +217,7 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px}
- MergeHub사내 머지툴 문서 · 2026-09-17 기준 + MergeHub사내 머지툴 문서 · 2026-09-22 기준
MERGED · WeldController.cs남은 충돌 1
@@ -256,17 +256,17 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px}
-
22벌 · 1,147건검사 하네스 전부 통과
-
10차 끝다섯 길(병합 · pull · rebase · cherry-pick · revert) 줄끝 바뀐 파일 0 · 누른 수 = 줄 고른 로그
-
114MergeHub 로컬 커밋 (푸시 0)
+
22벌 · 1,247건검사 하네스 전부 통과
+
11차 · 베타 앞변경분 안내 · 커밋 메시지 고치기 · 배포 묶음 43.5MB · D 드라이브 없는 PC. 다섯 길 다시 끝까지 줄끝 바뀐 파일 0
+
129MergeHub 로컬 커밋 (푸시 0)
26 → 24만든 저장소 병합 충돌 (주석만 다른 2건 자동 해결)
사용자 매뉴얼탭 네 개 사용법, 병합 충돌 푸는 순서, 단축키, 설정 발표 자료18장. ←/→ 로 넘기고 전체 화면으로 띄운다 - 남은 일7차 ~ 10차에서 고친 것, 아직 남은 것, 미룬 것 - 지금까지 만든 것09-07 ~ 09-17 차수별 기록과 기능 목록 + 남은 일7차 ~ 11차에서 고친 것, 아직 남은 것, 미룬 것 + 지금까지 만든 것09-07 ~ 09-22 차수별 기록과 기능 목록 기획안 v209-03 기획안(v1.1)의 틀에 실제로 만든 것과 바뀐 것을 채움 시연 대본demo 폴더 구성과 10분 시연 순서 WinMerge 와 차이기능 표, MergeHub 가 필요한 이유, WinMerge 가 나은 점 @@ -292,6 +292,8 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px} C# 코드 스타일 맞춤 Git Git 탭 + 커밋 메시지 고치기 + 변경분 추출 병합 충돌 푸는 순서 머지 주석 참고 @@ -408,7 +410,7 @@ UbisamBase.Shell.exe --merge --base B.cs
  • 편집 칸 글이 스타일 때문에 바뀌면 저장할 것이 있는 상태가 되고, 저장하면 그 스타일로 파일에 쓴다. 스타일만 바뀐 상태로 다른 파일을 열면 묻지 않는다.
  • 폴더 비교도 스타일만 다른 C# 파일은 같음. 줄끝이 다른 파일은 가리지 않는다.
  • -
  • 설정 [비교 옵션] “C# 코드 스타일 맞춤” 에 저장된다. 기본은 AURORA — 사내 코드가 이 스타일이라 설정을 찾아 켜지 않아도 중괄호 자리 때문에 생기는 차이를 안 보게 했다(2026-09-18 결정). 끄려면 콤보에서 맞추지 않음.
  • +
  • 설정 [비교 옵션] “C# 코드 스타일 맞춤” 에 저장된다. 기본은 AURORA — 사내 코드가 이 스타일이라 설정을 찾아 켜지 않아도 중괄호 자리 때문에 생기는 차이를 안 보게 했다(2026-09-18 결정). 끄려면 콤보에서 C# 스타일 끔.
  • C# 파일에만 걸린다. C/C++ · XAML 처럼 확장자가 .cs 가 아닌 파일은 이 설정이 무엇이든 원본 그대로 견준다.
  • 옮기는 것은 여는 중괄호와 else · catch · finally 의 줄 위치뿐이다. 들여쓰기 · 공백은 그대로. 앞 줄 끝에 주석이 있으면 중괄호를 올리지 않는다.
@@ -459,14 +461,36 @@ UbisamBase.Shell.exe --merge --base B.cs 안쪽 탭있는 것 브랜치 · 병합체크아웃 Merge → 현재 브랜치로 브랜치 삭제 · 새 브랜치 생성 + 체크아웃(선택 커밋에서 분기) · 선택 브랜치 위로 rebase 계속 중단 충돌충돌 파일 목록(종류 · 푼 개수) · 3분할로 열기 Accept Mine Accept Theirs Accept Both · 끝내기 단추는 작업에 따라 병합 커밋 · 계속 · 커밋 - 변경 · 커밋스테이징 언스테이징 변경 취소 전체 스테이징 stash 저장 blame · stash 목록 적용 삭제 · 커밋 메시지 마지막 메시지 커밋 커밋 수정(amend, 푸시 전에만) - 이력커밋 그래프 · 모든 브랜치(다른 브랜치 커밋까지 보임. 목록 순서가 바뀌어도 고른 커밋은 그대로) · 선택 커밋 → Revert Cherry-pick Reset · 여기부터(두 커밋 사이 비교) 해제 · 변경분 추출(바뀐 파일만 폴더로, 바이트 그대로) + 변경 · 커밋스테이징 언스테이징 변경 취소 전체 스테이징 stash 저장 blame · stash 목록 적용 삭제 · 커밋 메시지 마지막 메시지 커밋 커밋 수정(마지막 커밋 고쳐 쓰기 — 아래) + 이력커밋 그래프 · 모든 브랜치(다른 브랜치 커밋까지 보임. 목록 순서가 바뀌어도 고른 커밋은 그대로) · 선택 커밋 → Revert Cherry-pick Reset · 여기부터(두 커밋 사이 비교) 해제 · 변경분 추출(아래) · 줄 우클릭 메시지 바꾸기... Blame파일 경로 → 실행. 줄마다 커밋 · 날짜 · 작성자. 이력에서 커밋을 골라 두면 그 시점 기준 태그 · 서브모듈태그 생성(메시지를 넣으면 annotated) 선택 태그 삭제 · 서브모듈 업데이트 (--init)

두 탭은 같은 커밋을 본다. Git 탭 이력에서 커밋을 고르면 파일 비교 탭의 Selected Commit · 왼쪽 이력 · 기준(BASE)이 바로 그 커밋으로 바뀌고, 파일 비교 탭에서 고르면 Git 탭 이력 선택도 따라온다 — Revert · Cherry-pick 은 늘 화면에 보이는 커밋에 간다. 파일 비교 탭에 저장하지 않은 편집이 있으면 고르는 순간 “다른 커밋을 봅니다” 를 묻고, 취소 면 선택이 그대로 남는다.

커밋 · 체크아웃처럼 파일을 바꾸는 Git 작업을 시작하면, 파일 비교 탭에 저장하지 않은 편집이 있을 때 먼저 묻는다.

+

커밋 메시지 고치기

+

길이 둘이다. 마지막 커밋은 변경 · 커밋 탭에서, 그보다 앞 커밋은 이력에서 고친다.

+
+ + + + + + + +
커밋 수정 (변경 · 커밋 탭)우클릭 메시지 바꾸기... (이력 탭)
고치는 커밋HEAD(마지막 커밋)이력에서 우클릭한 줄. 우클릭하면 그 줄이 먼저 골라진다
메시지 넣기마지막 메시지 가 HEAD 의 메시지를 칸에 가져온다([모든 브랜치] 로 다른 브랜치 커밋이 맨 위여도). 칸은 한 줄지금 메시지가 들어 있는 창이 뜬다. 여러 줄을 칠 수 있다
함께 들어가는 것스테이징해 둔 파일도 들어간다 — 있으면 “파일 N개도 이 커밋에 들어갑니다” 를 먼저 묻는다메시지만. 파일은 건드리지 않는다
이미 올린 커밋“이미 올라가 있습니다 · 고치면 다음 Push 가 거부됩니다” 를 묻는다(막지는 않는다)막는다 — 뒤따르는 커밋까지 다시 써서 남의 이력과 갈라진다
남는 것작성자 · 작성 시각은 원래 커밋 것 그대로. 알림 “커밋 수정 완료 (옛 abc1234 → 새 def5678)”그 커밋부터 HEAD 까지 새 해시로 다시 써진다. 내용 · 작성자 · 작성 시각은 그대로. 알림 “메시지 바꿈 완료 (옛 HEAD … → 새 HEAD …) · 커밋 N개 다시 씀”
꺼지는 때병합 · rebase · cherry-pick · revert 중(단추 설명에 까닭)눌렀을 때 까닭을 알림으로 — 작업 중 · 커밋 안 한 변경 · 지금 브랜치에서 닿지 않는 커밋 · 원격에 올라감 · 다른 브랜치도 품음 · 사이에 태그 · 사이에 병합 커밋
+

메시지 바꾸기 전 자리는 refs/original/날짜-시각/… 에 남는다(이력 목록에는 안 보인다). 아직 Push 하지 않았다면 git reset --hard refs/original/…/heads/브랜치 로 옛 이력이 그대로 돌아온다. “이미 올렸는지” 는 마지막 Fetch 기준이다.

+ +

변경분 추출

+
    +
  1. 이력에서 끝 커밋을 고른다. 두 커밋 사이면 시작 커밋을 고르고 여기부터 를 먼저 누른다(범위 표시 “228995f → 고른 커밋”). 안 누르면 고른 커밋의 부모와 견준다.
  2. +
  3. 변경분 추출 → 폴더를 고른다.
  4. +
  5. 고른 폴더 아래에 새 폴더 변경분_228995f..37a2ced_2026-09-22 가 생기고, 바뀐 파일만 바이트 그대로 들어간다. 같은 이름이 있으면 _2 · _3 — 지난번에 뽑은 것이나 넣어 둔 파일과 섞이지 않는다.
  6. +
  7. 그 폴더 옆에 안내 파일 …_변경분안내.txt 가 생긴다 — 범위(커밋 · 제목 · 날짜), 뽑은 파일(추가 · 수정 · 이름 바뀜은 옛 이름), 그리고 장비에서 지워야 할 파일(지워진 파일 · 이름 바뀐 옛 경로). 폴더에는 없는 것이라 안내에만 있다.
  8. +
+

쓰기 전에 모두 쓸 수 있는지 먼저 보고, 하나라도 막히면 아무것도 쓰지 않는다. 병합 커밋 하나를 고르면 첫 부모와 견준다(안내 범위에 “(고른 커밋의 부모)”). 거꾸로 잡은 범위도 그 방향대로 뽑는다.

+

병합 충돌 푸는 순서

  1. Git 탭 → 브랜치 · 병합에서 내 브랜치를 체크아웃하고, 가져올 브랜치를 골라 Merge → 현재 브랜치로.
  2. @@ -562,6 +586,9 @@ Accept Theirs (상대 쪽 파일 그대로) 15
  3. 큰 폴더의 전체 비교는 크기가 같은 파일을 끝까지 읽는다. 4,500개 묶음(NVMe SSD · 16코어)에서 파일 캐시를 비운 첫 비교도 약 0.5초로 데운 상태와 거의 같았다 — 여러 갈래로 읽기 때문이다(한 갈래라면 0.4초 → 1.8초). 며칠 손대지 않은 묶음을 처음 비교할 때 한 번 9.2초가 났으나 다시 나지 않았다(원인은 가리지 못함 — 디스크 정보 캐시 · 백신 검사로 짐작). 느린 디스크(HDD)에서는 재 보지 않았다.
  4. 코드 검사는 빌드가 된다는 보증이 아니다.
  5. 화면 왼쪽 · 오른쪽 반쪽 스냅은 반쪽이 되지 않는다. 창의 가장 작은 크기(1280 × 720)가 반쪽보다 커서, 2560 폭 모니터에서 75% 를 차지한다.
  6. +
  7. 변경 · 커밋 탭의 커밋 메시지 칸은 한 줄이다. 본문까지 쓰려면 커밋한 뒤 이력에서 우클릭 메시지 바꾸기...(여러 줄 창)을 쓴다 — 병합 커밋 본문은 앱이 저절로 붙인다.
  8. +
  9. 커밋이 “이미 원격에 올라갔는지” 는 마지막 Fetch 때를 기준으로 본다. 그 뒤에 남이 올린 것까지는 모른다.
  10. +
  11. D 드라이브가 없는 PC 에서는 설정 · 로그가 %LOCALAPPDATA%\UbisamConfig 로 가서 Windows 계정마다 따로다. 한 장비를 여러 계정으로 쓰면 설정이 갈린다.
  12. 로그인 · 권한은 아직 없다. 창 여러 개로 비교하는 기능은 넣지 않기로 했다.
  13. @@ -907,7 +934,7 @@ Log("step 5");
    앞으로 남은 내용

    남은 일

    -

    10차까지 모두 끝났다. 차수별로 무엇을 고쳤는지와, 아직 남은 것 · 일부러 미뤄 둔 것.

    +

    10차까지 끝났고 11차(사내 베타 앞)가 진행 중이다. 차수별로 무엇을 고쳤는지와, 아직 남은 것 · 일부러 미뤄 둔 것.

    6차 — 병합을 끝까지 믿고 쓸 수 있게

    @@ -961,6 +988,23 @@ Log("step 5"); D-1병합 · rebase · cherry-pick · revert 를 새 저장소에서 파일 비교 탭을 미리 열지 않고 끝까지 — cherry-pick · revert 는 [모든 브랜치] 를 켜고 마지막 파일을 네 칸으로. 네 길 모두 마지막 Save 뒤 제목 · 요약 · 실제 기준(HEAD)이 같고 요약의 줄 수가 git diff 와 같음 · 커밋 뒤 기준은 새 HEAD · 줄끝 · BOM 바뀐 파일 0 · class 이름 다른 파일 0
    +

    11차 — 사내 베타 앞 (2026-09-18 ~)

    +

    기획안에서 “일부” 로 남은 것(변경분 추출 · 커밋 메시지 수정)과, 다른 사람 PC 에서 처음 켤 때 깨질 것(배포 폴더 · D 드라이브).

    +
    + + + + + + + + + + + + +
    항목상태무엇
    A-1 · A-2 · A-3 변경분 추출완료먼저 아홉 경우로 뽑아 보니 지운 파일 · 이름 바뀐 옛 경로 · 범위가 어디에도 안 남고, 쓰던 폴더에 섞이고, 막히면 반쯤 뽑힌 채 멈췄다. 이제 고른 폴더 아래 새 폴더에 뽑고 옆에 안내 파일(장비에서 지울 파일 포함), 쓰기 전에 먼저 본다
    A-4 ZIP 으로 뽑기대기할지 먼저 정한다
    B-1 배포 묶음완료매뉴얼이 가리키던 Release 가 09-07 것이라 폴더 비교 탭이 없었다. 쓰지 않는 dll · 다른 OS 용을 빼 97MB → 43.5MB, scripts\make-bundle.ps1 · 배포묶음.txt. 빈 폴더에서 병합 한 길 끝까지
    B-2 D 드라이브 없는 PC · 첫 실행완료첫 실행은 오류 없고 기본값이 매뉴얼과 같다. D 를 못 쓰면 켜다 말고 창 없는 프로세스만 남던 것 — 플랫폼에서 %LOCALAPPDATA%\UbisamConfig 로 가고, 그마저 안 되면 “켜지 못했습니다” 뒤 끝내게(배포함)
    C-1 [커밋 수정]완료[마지막 메시지] 가 딴 브랜치 메시지를 가져오고 · 작성자가 바뀌고 · 작업 중에도 켜지던 것. 이제 HEAD 메시지 · 작성자 보존 · 작업 중 꺼짐 · 스테이징 파일 · 올린 커밋이면 먼저 묻기 · 알림에 옛 → 새 해시
    C-2 앞 커밋 메시지 바꾸기완료이력 줄 우클릭 메시지 바꾸기...(사용자 결정: 좁은 범위). 올린 커밋 · 사이 병합 · 태그 · 다른 브랜치가 품은 커밋은 막는다
    F-12 C# 스타일 기본값완료끔 → AURORA(.cs 에만)
    E-1 바꾼 길을 다시 끝까지완료변경분 아홉 경우 · 커밋 수정 여덟 경우 · 메시지를 바꾼 저장소에서 병합 · 다섯 길 + pull — 누른 수 = 로그, 줄끝 · BOM 0. 새로 걸린 것 없음
    E-2완료이 문서와 기획안을 11차에 맞춤
    D-1 시험 도구 정리대기줄끝 검사 스크립트의 부모 하나 커밋 오류 등
    F-1 ~ F-11 추가 요청대기칸 이름 · 어느 파일인지 · 머지 주석에 가져온 곳 · 메서드 단위 반영 · 폴더 두 개 보내기 · 툴박스 감추기 · 글자 크기 · 넓게 보기 · 모니터 · 저장 뒤 되돌리기 · 백업 저장 · 덩어리 잇기 · Git 계정 저장 확인
    +

    10차에서 고친 것 (2026-09-17)

    @@ -1020,12 +1064,12 @@ Log("step 5");
    현재까지 개발된 내용

    지금까지 만든 것

    -

    2026-09-07 방향 전환부터 2026-09-17 10차 끝까지. 차수마다 “실제로 써 보고 걸린 것” 을 지시서로 만들어 하나씩 고쳤다.

    +

    2026-09-07 방향 전환부터 2026-09-22 11차(사내 베타 앞)까지. 차수마다 “실제로 써 보고 걸린 것” 을 지시서로 만들어 하나씩 고쳤다.

    -
    114로컬 커밋 · 09-08 ~ 09-17
    -
    1,147검사 통과 (22벌)
    +
    129로컬 커밋 · 09-08 ~ 09-22
    +
    1,247검사 통과 (22벌)
    0 · 0빌드 경고 · 오류
    0푸시
    @@ -1044,6 +1088,7 @@ Log("step 5");
  14. 8차 — 고른 파일에 고른 내용을[3분할로 열기] 로 처음 열면 다른 파일 내용이 고른 파일에 저장되던 것 · 작업마다 요약 · 빈 cherry-pick · MERGED 결과 번호 · revert 끝까지 · 원래 작성자 · 첫 Win+↓ · 병합 커밋 본문에 해결 내역. 다섯 길 다시 끝까지. 22벌 1,094건.
  15. 9차 — 두 칸이 무엇과 견주는지 사실대로작업 중 충돌을 다 풀면 기준 HEAD · 새로고침 뒤 고른 커밋을 해시로 · 넣은 주석 줄 처음부터 무시 색 · 폴더 트리 시간 다시 재기 · 네 길을 마지막 파일까지 네 칸으로 다시 끝까지. 22벌 1,122건.
  16. 10차 — 두 탭이 같은 커밋을 · 누름을 놓치는지한 번 누른 것이 안 남던 것은 시험 도구 쪽으로 가림 · Git 탭 · 파일 비교 탭이 고른 커밋을 서로 바로 따라감 · 규칙 끈 채 반영 색 · 첫 폴더 비교 9.2초 다시 재기 · 폴더 비교 “같은 것만” 폴더 줄과 같음의 까닭 · “다름(코드는 같음)” · 다섯 길(+ pull) 누른 수 = 로그. 22벌 1,147건.
  17. +
  18. 11차 — 사내 베타 앞변경분 추출이 새 폴더 · 안내 파일(장비에서 지울 파일)로 · [커밋 수정] 바로잡기(HEAD 메시지 · 작성자 보존 · 먼저 묻기) · 이력 우클릭으로 앞 커밋 메시지 바꾸기 · 배포 묶음 97MB → 43.5MB · D 드라이브 없는 PC 에서도 켜짐(플랫폼) · C# 스타일 기본 AURORA · 바꾼 길 다시 끝까지. 22벌 1,247건.
  19. 6차에서 끝낸 것

    @@ -1070,14 +1115,15 @@ Log("step 5");
    항목무엇

    검사 하네스

    -

    일하는 방식 — v1.1 에 없던 것

      @@ -1270,7 +1318,7 @@ D:\MergeHubDemo\repo\ make-demo.ps1 이 만드는 Git
    • PowerShell 에서 powershell -ExecutionPolicy Bypass -File D:\Sorce\MergeTool\MergeHub\demo\make-demo.ps1. 시연 직전에도 한 번 더 돌려 처음 상태로 만든다.
    • 저장소 병합을 미리 한 번 해 보고 충돌 수 · 자동으로 풀린 수를 적어 둔다(발표 때 숫자를 말하기 위해). 끝나면 make-demo.ps1 로 되돌린다.
    • 설정 → MergeHub → 데모: .git 있는 폴더 = D:\MergeHubDemo\repo, .git 없는 폴더 = …\demo\plain\left. 위 줄에 두 화면을 오가는 버튼이 생긴다.
    • -
    • 설정 → 머지 주석: “비교 · 병합에서 머지 주석 무시” 켬. 비교 옵션 “C# 코드 스타일 맞춤” 은 기본이 AURORA 이므로, 시연 전에 콤보에서 맞추지 않음 으로 바꿔 둔다 — 시연 중에 화면에서 고르는 것을 보여 준다.
    • +
    • 설정 → 머지 주석: “비교 · 병합에서 머지 주석 무시” 켬. 비교 옵션 “C# 코드 스타일 맞춤” 은 기본이 AURORA 이므로, 시연 전에 콤보에서 C# 스타일 끔 으로 바꿔 둔다 — 시연 중에 화면에서 고르는 것을 보여 준다.
    • 셸 창을 최대화, 화면 배율 100~125%. 작업자 이름 창에는 발표자 이름.
@@ -1411,7 +1459,7 @@ D:\MergeHubDemo\repo\ make-demo.ps1 이 만드는 Git
  • 반영 기록을 소스에 남기고, 그 기록 때문에 생기는 충돌은 스스로 푼다. 우리 팀은 누가 언제 반영했는지를 // [이름] 날짜 로 남긴다. WinMerge 에는 이 규칙이 없어 손으로 적어야 하고, 다음 병합 때 주석끼리 충돌한다. 만든 저장소에서 git 충돌 26개 중 2개가 이런 충돌이었다.
  • 리뷰할 diff 를 지킨다. 병합 결과를 내 쪽 파일의 줄끝 · 인코딩으로 쓴다. 3분할 저장이 LF 로 바꿔 쓰던 문제를 고친 뒤 3,367줄 파일의 diff 가 +8/−4 로 줄었다. CP949 한글 파일도 같은 규칙이다.
  • 스타일만 다른 diff 를 걷어 낸다. 사람마다 다른 C# 중괄호 자리를 AURORA / Allman 로 맞춘 뒤 견준다. 시연 파일에서 남은 차이가 39줄에서 진짜 변경 1줄로 준다.
  • -
  • 우리가 고친다. 사내 요구가 생기면 그날 넣는다 — C# 스타일 맞춤은 요청 당일 들어갔다. 기록과 검사(22벌 1,147건)가 저장소에 함께 있다.
  • +
  • 우리가 고친다. 사내 요구가 생기면 그날 넣는다 — C# 스타일 맞춤은 요청 당일 들어갔다. 기록과 검사(22벌 1,247건)가 저장소에 함께 있다.
  • WinMerge 가 더 나은 점

    diff --git a/doc/진행상황.md b/doc/진행상황.md index bc2e9bb..160f037 100644 --- a/doc/진행상황.md +++ b/doc/진행상황.md @@ -364,7 +364,7 @@ | 상태 | 항목 | |---|---| | **완료** | E-1 바꾼 길을 다시 끝까지 — A-1 아홉 경우(지운 파일 · 옛 이름 · 범위가 안내에, 두 번 뽑아도 새 폴더 둘, 막힌 파일 없이 끝) · C-1 여덟 경우(HEAD 메시지 · 작성자 보존 · 묻는 창 · 작업 중 꺼짐 · 병합 커밋 부모 둘) · C-2 로 다시 쓴 저장소에서 병합 · 다섯 길 + pull 모두 끝까지. 누른 수 = 로그, 줄끝 · BOM · 충돌 표식 · class 0, 두 탭 같은 커밋. **새로 걸린 것 없음**. 시험 도구가 창 최대화를 풀던 것을 고침 | -| 대기 | E-2 웹 문서 · 기획안(잠금, 사용자가 비밀번호로 잠금)을 11차에 맞게 | +| **완료** | E-2 웹 문서 · 기획안을 11차에 맞게 — MergeHub 문서 버전 13(커밋 메시지 고치기 · 변경분 추출 두 절 · 한계 셋 · 11차 표 · 숫자, 단추 이름 91개 소스 대조로 "C# 스타일 끔" 바로잡음) · 기획안 버전 17(커밋 메시지 수정 완료 · 4단계 준비 중, 8쪽 A4 높이 같음, 잠금은 사용자) | ### F. 추가 요청 (2026-09-18 사용자)