11차 F-1 에 덧: 머지 주석에 출처(REMOTE/BASE)와 무시 조건 손보기
사용자 추가 설명(2026-09-18): 리모트 · 베이스 중 어디서 가져왔는지 이력 주석에도 남기고, 그에 맞춰 무시 조건을 고친다. - 지금은 주석이 [사람] 날짜 뿐이고 출처는 화면 로그에만 남는다(앱을 끄면 사라짐) - 방향: 주석 몸통에 출처 한 토막(REMOTE 브랜치 · MINE · BASE 해시), 쓰는 말은 로그 · 화면과 같게 - 무시 조건 고칠 곳: MergeNote(NoteBody · LooksLikeNote · TailStart) · CompareRules · FolderComparer · NoteConflict · NoteRows - 기준: 옛 주석(출처 없음)도 그대로 무시 · 출처만 다른 주석은 같음(머지 주석만 다름) 과 자동 해결 유지 · 10차 C-1 회귀 없음 - 정할 것: 출처를 어디까지 적을지(쪽 이름만 / 브랜치 · 해시까지) 제품 코드 변경 없음. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
77ed65de6b
commit
bd270f4628
@ -8,6 +8,7 @@
|
||||
|
||||
| 날짜 | 항목 | 커밋 |
|
||||
|---|---|---|
|
||||
| 2026-09-18 | **11차 F-1 에 덧 (추가 요청)** — 지시서의 F-1(칸 이름 · 어느 파일인지)에 "머지 주석에도 어디서 가져왔는지(REMOTE/BASE · 브랜치/해시)를 남기고, 그에 맞춰 무시 조건도 고친다" 를 적음. 고칠 곳(`MergeNote.NoteBody` · `LooksLikeNote` · `TailStart` · `CompareRules` · `FolderComparer` · `NoteConflict` · `NoteRows`)과 옛 주석도 그대로 무시되어야 한다는 기준까지. 코드 변경 없음 | 아래 |
|
||||
| 2026-09-18 | **11차 A-3** — 변경분을 고른 폴더에 바로 쏟지 않고 **그 아래 새 폴더**(`변경분_범위_날짜`, 같은 이름이면 `_2`)를 만들어 뽑는다(사용자 결정). 예전에는 묻지 않고 덮어써 지난번에 뽑은 것과 사람이 넣어 둔 파일이 섞였다. 또 뽑기 전에 읽기 전용 · 열려 있는 파일을 **먼저 보고** 하나라도 막히면 아무것도 쓰지 않는다 — 반쯤 뽑힌 폴더가 남지 않는다. 하네스 ReportTest +12(57건) | 아래 |
|
||||
| 2026-09-18 | **11차 A-2** — 변경분을 뽑으면 **폴더 옆에 안내 파일**(`…_변경분안내.txt`)을 함께 만든다(사용자 결정: 폴더 밖 · 지울 파일은 목록으로만). A-1 에서 지운 파일 · 이름 바뀐 옛 경로 · 뽑은 범위가 결과에 안 남는 것을 확인했기 때문. 안내에 범위(커밋 제목 · 날짜) · 뽑은 파일(추가 · 수정 · 이름 바뀜은 옛 이름 병기) · **장비에서 지워야 할 파일**을 적는다. 추출이 무엇을 했는지 목록으로 돌려주도록 `ExportChangedFiles` 를 고치고, 안내를 못 써도 추출은 성공으로 둔다. 하네스 ReportTest +14(45건) | 아래 |
|
||||
| 2026-09-18 | **11차 F-12 (추가 요청)** — C# 코드 스타일 맞춤의 제품 기본값을 끔 → **AURORA** 로(사용자 결정). 사내 코드가 이 스타일이라 설정을 켜지 않아도 중괄호 자리 차이를 안 보게 한다. C/C++ · XAML 은 원래부터 확장자 `.cs` 에만 걸려 손대지 않음. 저장 동작은 그대로. 설정 없는 첫 실행에서 AURORA 확인, C# 짝 "차이 없음" · C++ 짝 "남은 차이 4줄". 하네스 StyleTest +12(90건) | 아래 |
|
||||
|
||||
@ -199,6 +199,29 @@
|
||||
- **정할 것**: 이름을 표준 용어 그대로 둘지(`LOCAL(Mine)`), 한글 풀이를 함께 붙일지(`LOCAL(내 쪽)`). 4차 · 6차에 "표준 용어 그대로" 로 정한 적이 있어 뒤집는 결정이다.
|
||||
- **판정 기준**: 두 칸 · 네 칸 · `git mergetool` · `--merge` 네 길에서 칸마다 파일 이름이 보이고, 그 파일이 실제로 읽은 · 저장할 파일과 같다(8차 A-1 의 "화면에 실린 파일" 과 같은 값). 좁은 폭에서도 줄이 늘어나지 않는다.
|
||||
|
||||
#### F-1-덧. 머지 주석에도 **어디서 가져왔는지**를 남긴다 (2026-09-18 사용자)
|
||||
|
||||
사용자: "리모트, 베이스에서 어디서 가져오는지도 이력 주석에 표시되게 해 주고, 관련해서 작업된 무시 조건도 수정해 줘."
|
||||
|
||||
- 지금은: 소스에 남는 주석이 `// [김승준] 2026-09-18` 뿐이다(`MergeNote.Build`). **어느 쪽에서 가져온 줄인지는 안 남는다.**
|
||||
화면 로그에는 남는다 — `101행 Theirs(feature/theirs) 반영` · `1행 Mine(feature/mine) 으로 정함`(`MergeNames`). 로그는 앱을 끄면 사라지고 소스에는 그 말이 없다.
|
||||
두 칸에서 BASE 를 가져온 줄도 `BASE 반영` 이라고 로그에만 남는다.
|
||||
- 방향: 주석 몸통을 `[사람] 날짜` **뒤에 출처 한 토막**으로 늘린다. 쓰는 말은 화면 · 로그와 같게(F-1 본체에서 이름을 정한 뒤 그 말로).
|
||||
- 네 칸: `// [김승준] 2026-09-18 REMOTE feature/theirs` · `// [김승준] 2026-09-18 MINE` (rebase · cherry-pick · revert 는 브랜치 대신 짧은 해시 — 로그와 같은 규칙)
|
||||
- 두 칸: `// [김승준] 2026-09-18 BASE 4eb9ece`
|
||||
- 사용자가 적은 설명이 있으면 그 앞이나 뒤 어디에 둘지도 함께 정한다(지금은 `[사람] 날짜 설명`).
|
||||
- **무시 조건을 함께 고친다.** 주석 모양이 바뀌면 지금 판정이 그 줄을 "우리 주석" 으로 못 알아본다. 고칠 곳:
|
||||
- `MergeNote.NoteBody` 정규식 — `^\[사람\] 날짜` 뒤에 출처가 붙어도 맞게. **옛 모양(출처 없음)도 그대로 맞아야 한다** — 이미 그 주석이 든 파일이 있다.
|
||||
- `MergeNote.LooksLikeNote` · `TailStart` — 줄 끝에 붙은 조각을 찾는 자리도 같은 규칙.
|
||||
- `CompareRules`(`MergeNoteKey` · 무시 판정) · `FolderComparer`(머지 주석만 다른 파일을 같음으로) · `NoteConflict`(주석 차이뿐인 git 충돌 자동 해결) · `NoteRows`(주석 줄 떼어 놓기).
|
||||
- **출처만 다른 주석은 "다름" 이 아니다.** 같은 사람 · 같은 날 · 같은 설명인데 출처만 다른 두 줄은 지금처럼 무시 · 자동 해결로 묶인다(폴더 비교 "같음(머지 주석만 다름)" 도 그대로).
|
||||
- **정할 것**: 출처를 어디까지 적을지 — 쪽 이름만(`REMOTE`), 쪽 이름 + 브랜치/해시(`REMOTE feature/theirs`), 아니면 파일까지. 길어지면 코드 줄이 밀린다.
|
||||
- **판정 기준**:
|
||||
- 네 칸에서 Take Theirs · Take Mine, 두 칸에서 [>] 로 반영한 줄의 주석에 출처가 적히고, **그 말이 Git 탭 로그의 말과 같다.**
|
||||
- 옛 주석(출처 없음)이 든 파일을 열어도 여전히 무시 색이고 차이로 세지 않는다 — 하네스에 옛 모양 · 새 모양을 함께 넣는다(`NoteTest` · `RulesTest` · `FolderTest` · `NoteConflict` 검사).
|
||||
- 출처만 다른 주석이 있는 두 파일이 폴더 비교에서 **같음(머지 주석만 다름)**, git 충돌에서 자동 해결.
|
||||
- 10차 C-1(네 칸에서 주석 줄과 코드 줄을 떼어 놓기)이 그대로다. 저장 결과의 줄 수 · 바이트가 규칙 켬 · 끔에서 고치기 전과 같다.
|
||||
|
||||
### F-2. **메서드 단위**로 골라 반영 (지금은 줄 · 덩어리 · 전체)
|
||||
|
||||
- 지금은: 반영 단위가 줄(`[>]`) · 이어진 차이 덩어리(`이 덩어리 반영`) · 전체뿐이다. 덩어리를 반영하면 머지 주석은 덩어리 첫 줄 위에 한 줄 붙는다.
|
||||
|
||||
@ -370,7 +370,7 @@
|
||||
|
||||
| 상태 | 항목 |
|
||||
|---|---|
|
||||
| 대기 | F-1 LOCAL · REMOTE · MERGED 이름 맞추고 칸마다 어느 파일인지 보이게 (지금은 경로가 맨 위 한 줄에만) |
|
||||
| 대기 | F-1 LOCAL · REMOTE · MERGED 이름 맞추고 칸마다 어느 파일인지 보이게 (지금은 경로가 맨 위 한 줄에만) · **덧**: 머지 주석에도 어디서 가져왔는지(REMOTE/BASE · 브랜치/해시) 남기고 그에 맞춰 무시 조건(`MergeNote` · `CompareRules` · `FolderComparer` · `NoteConflict` · `NoteRows`) 수정 — 옛 주석도 그대로 무시 |
|
||||
| 대기 | F-2 메서드 단위로 골라 반영 · 머지 주석은 메서드 이름 위 한 줄 (지금은 줄 · 덩어리 · 전체) |
|
||||
| 대기 | F-3 탐색기에서 폴더 두 개를 [보내기] 로 바로 비교 + 설치 파일 없이 되는지 확인 |
|
||||
| 대기 | F-4 파일 비교 탭 툴박스(ACTIONS) 감추는 단추 (지금은 접어도 폭 그대로) |
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user