Ubisam-MergeTool/doc/history/2026-09-18-11차.md
ksj09406 df9202c6d5 11차 F-12: C# 코드 스타일 맞춤 기본값을 AURORA 로
사용자 결정(2026-09-18): 제품 기본값 AURORA · C# 파일만 · 저장 동작은 지금 그대로.

- MergeHubSettings.CSharpBraceStyle 기본값 None → Aurora (한 줄, 까닭 주석)
- C/C++ · XAML 은 고칠 것 없음 - CSharpStyle.Applies 가 확장자 .cs 만 본다
- 하네스 StyleTest +12 (78 → 90): 기본값 · 확장자별 적용 여부. 먼저 넣어 기본값 검사만 실패하는 것을 보고 시작
- 설정 파일 없는 첫 실행: 상태바 'C# AURORA' · C# 짝 차이 없음 · C++ 짝 남은 차이 4줄 · 새로 만든 설정에 1
- 웹 문서 매뉴얼 · 설정 표 · 시연 대본의 '기본은 끔' 을 고침
- 22벌 1,159건 통과 · 빌드 경고 0 오류 0

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 14:02:35 +09:00

8.4 KiB

11차 진행 기록 (2026-09-18 ~)

지시서: ../작업지시/11차.md

A-1. 변경분 추출을 먼저 뽑아 보고 적는다 (2026-09-18, 완료 · 고치지 않음)

지시서대로 고치지 않고 적기만 했다. 제품 코드는 바꾸지 않았다.

무엇으로 했나

  • C1Repo 로 저장소를 새로 만든 뒤 e11-a1-setup.sh 로 추출 시험용 커밋을 더 쌓았다(전부 지어낸 파일).
커밋 무엇
4eb9ece base 내 쪽 작업 (C1Repo 의 feature/mine)
d3eb15b c1 새 파일 Extract/Temp.cs · Io/Unit12.cs 한 줄 더함
f884ed1 c2 Recipe/Unit11.cs 지움 · Motion/Unit16.cs → Motion/Renamed16.cs(내용 그대로) · 이진 Extract/logo.bin · 한글폴더/깊은/경로/아래/설명.cs
cbcad8a c3 Io/Unit12.cs 를 c1 전으로 되돌림 · Extract/Temp.cs 지움 (범위 안에서 생겼다 사라짐)
f702996 side · 58d5f7f merge base 에서 갈라진 옆가지에 Side/SideOnly.cs, 그것을 --no-ff 로 병합
  • 화면은 사람 순서로: Git 탭 → 이력에서 줄을 마우스로 고르고 [여기부터] · [해제] · [변경분 추출], 폴더 창에는 경로를 쳐 넣고 Enter.
  • 뽑은 폴더는 git diff -M --name-status 의 기대 목록과 견주고, 파일마다 git hash-object --no-filters 로 바이트(blob 해시) 를 대조했다.

아홉 경우의 결과

# 경우 알림 뽑힌 것 git 과 견주면
1 커밋 하나(시작점 없음, c1) "2개 파일 추출" Extract/Temp.cs · Io/Unit12.cs 같음 · 바이트 같음
2 범위 [여기부터] base → c3 "3개 파일 추출 (삭제되어 건너뜀 1개)" Extract/logo.bin · Motion/Renamed16.cs · 한글폴더/…/설명.cs 같음 — 범위 안에서 생겼다 사라진 Temp.cs, 바뀌었다 되돌아온 Unit12.cs 는 들어가지 않는다(맞다)
3 지운 파일이 있는 범위 위와 같은 알림 — 건너뛴 개수만 알린다. Recipe/Unit11.cs 라는 것은 화면 · 로그 · 폴더 어디에도 없다
4 이름 바뀐 파일 — Motion/Renamed16.cs (새 이름) 새 경로로 바이트 그대로. 옛 경로(Motion/Unit16.cs)를 알 길이 없다 — 장비에 덮어 넣으면 옛 파일이 남는다
5 병합 커밋 하나(merge) "1개 파일 추출" Side/SideOnly.cs 첫 부모(c3)와만 견준다. 둘째 부모(옆가지)와 견주면 4개인데, 지금 무엇과 견주는지는 화면에 없다
6 거꾸로 범위 [여기부터] c3 → base "2개 파일 추출 (삭제되어 건너뜀 2개)" Motion/Unit16.cs · Recipe/Unit11.cs git 의 diff c3 base 와 같음(되돌리는 방향으로 동작). 경고나 방향 표시는 없다
7 이진 · 한글 · 깊은 경로 2 와 같음 logo.bin 278B · 설명.cs 50B 바이트 · 경로 그대로
8 이미 파일이 있는 폴더 "3개 파일 추출 (삭제되어 건너뜀 1개)" 폴더 안 6개 묻지 않고 덮어쓴다. 앞서 뽑아 둔 Extract/Temp.cs · Io/Unit12.cs(c1 것)와 사람이 넣어 둔 사용자메모.txt 가 그대로 남아 섞인다
9-a 대상 파일이 읽기 전용 "변경분 추출 실패: … 액세스가 거부되었습니다" 2개(logo.bin + 읽기 전용 그대로) 반쯤 뽑힌 채 멈춘다 — 앞 순서 logo.bin 은 써졌고 뒤 순서 한글…설명.cs 는 빠졌다. 몇 개까지 됐는지는 알림에 없다
9-b 대상 파일이 다른 프로그램에 열려 있음 "… 다른 프로세스에서 사용 중이므로 …" 2개 9-a 와 같은 모양
  • 알림과 같은 글이 Git 탭 로그에도 남는다 — 성공은 변경분 추출: N개 파일 → 경로 (삭제되어 건너뜀 M개), 실패는 [변경분 추출] 실패: ….
  • 범위 표시는 제대로 바뀐다: 시작점이 없으면 부모 → 고른 커밋, [여기부터] 를 누르면 4eb9ece → 고른 커밋.
  • 폴더 창은 늘 저장소가 있는 폴더에서 열린다.
  • 저장소 워킹트리는 아홉 경우 내내 Clean 이었다(추출은 읽기만 한다).

이걸로 확정된 것 (A-2 ~ A-4 로 넘긴다)

번호 확정된 문제 어디로
① 지운 파일 · 이름 바뀐 옛 경로가 결과에 남지 않는다(경우 3 · 4) A-2
② 무엇과 무엇 사이를 뽑았는지 폴더에 남지 않는다(경우 5 · 6 — 병합 커밋은 첫 부모, 거꾸로 범위도 말없이 됨) A-2
③ 비어 있지 않은 폴더에 묻지 않고 덮어쓰고 옛 파일이 섞인다(경우 8) A-3
④ 쓰다 막히면 반쯤 뽑힌 채 멈추고, 어디까지 됐는지 알 수 없다(경우 9-a · 9-b) A-3 에 덧 — 먼저 쓸 수 있는지 보고 시작할지, 실패해도 나머지를 계속할지 정한다

맞게 도는 것(고칠 것 없음): 파일 고르기(1 · 2 · 5 · 6 모두 git 과 같은 목록) · 바이트 보존(이진 · 한글 · 깊은 경로 포함) · 범위 표시 · 로그.

남긴 것 (시험 도구 쪽, 제품 아님)

화면 자동 조작에서 세 번 막혔다. 모두 스크립트 문제였고 제품과 무관하다.

  • 함수 이름 History 가 PowerShell 기본 별칭(history = Get-History)과 겹쳐, 내 함수 대신 그것이 불렸다 → GoHistory 로 바꿈.
  • 폴더 창(#32770)은 데스크톱 바로 아래가 아니라 본 창 아래에 붙는다 → 본 창의 자손에서 찾게 고침.
  • 폴더 창의 경로 칸(id 1152)과 [이 폴더 선택](id 1)은 UIA 에서 Pane 으로 보이고, 같은 id 를 가진 다른 칸이 먼저 잡혔다 → id + 클래스(Edit · Button)로 고르고, 경로를 한 글자씩 친 뒤 Enter 로 닫게 함.
  • 백그라운드로 돌리면 앱 창이 앞으로 나오지 못해 마우스가 다른 창을 누른다 → 앞에서 돌린다.

F-12. C# 코드 스타일 맞춤의 기본값을 AURORA 로 (2026-09-18, 완료)

사용자: "기본값은 원본형태를 따르고 C#인 경우에 AURORA 스타일로 하자" → 물어서 정한 것은 제품 기본값 AURORA · C# 파일만 · 저장 동작은 지금 그대로(켜져 있으면 저장도 그 스타일로 쓴다).

알아본 것

  • C/C++ · XAML 은 고칠 것이 없었다. 스타일 맞춤은 CSharpStyle.Applies 가 확장자 .cs 만 보므로(Services/CSharpStyle.cs:60) 설정이 무엇이든 다른 파일은 원본 그대로 견준다.
  • 그래서 바뀐 것은 설정 기본값 한 줄뿐이다.

고친 것

자리 고친 것
MergeHubSettings.cs:77 CSharpBraceStyle 기본값 None → Aurora. 왜 그렇게 정했는지와 "C# 파일에만 걸린다" 를 주석으로 남김
웹 문서 매뉴얼 "기본은 끔" → "기본은 AURORA(2026-09-18 결정) · 끄려면 콤보에서 [맞추지 않음]" · "C# 파일에만 걸린다" 한 줄 더함
웹 문서 설정 표 기본값 칸 끔 → AURORA, ".cs 파일에만 걸린다"
웹 문서 시연 대본 "스타일 맞춤은 끔으로 둔다" → "기본이 AURORA 이므로 시연 전에 [맞추지 않음] 으로 바꿔 둔다"
하네스 StyleTest +12건(78 → 90) — 설정 기본값이 AURORA 인지, .cpp · .h · .hpp · .c · .xaml · .py · .txt · .cs.txt 는 안 걸리는지, .cs · .CS · 한글 경로 .cs 는 걸리는지. 고치기 전에 먼저 넣어 기본값 검사만 실패하는 것을 보고 시작했다

확인한 것 — 설정 파일이 없는 첫 실행 (e11-f12.ps1)

설정 파일을 백업해 치우고, 중괄호 자리만 다른 짝 두 벌을 명령줄(--diff)로 열었다.

무엇 결과
C# 짝(left.cs Allman · right.cs AURORA) 요약 "차이 없음" · 상태바 무시: 머지 주석 · C# AURORA (e11-f12-cs.png)
C++ 짝(left.cpp · right.cpp, 같은 모양의 중괄호 차이) 요약 "남은 차이 4줄" — 원본 그대로 (e11-f12-cpp.png)
앱이 새로 만든 설정 파일 "CSharpBraceStyle": 1 (= Aurora)
설정 파일 되돌림 해시 같음
  • 하네스 22벌 1,159건 통과(1,147 → +12) · 빌드 경고 0 · 오류 0.
  • 이미 설정 파일이 있는 PC 는 그 값을 그대로 쓴다. 이번 변경은 설정이 없는 첫 실행에만 닿는다.