Commit Graph

3 Commits (split_vault)

Author SHA1 Message Date
RyuJongJin c593440249 거르기: H · S · P · R 과 고치개 ,s · ,r 을 rsync 와 똑같이 따름 - 미리 보기 · 원격 맞추기 · 실시간 동기화 (검토 대기)
관리자 지시 (10/20, 데이터 쪽): 예전에는 이 규칙들을 "미리 볼 수 없음" 으로 두고 경고만 했다. 이제 rsync (man rsync FILTER RULES ·
exclude.c) 와 같게:
- 규칙마다 걸리는 쪽 (RuleSide): 그냥 + · - 는 양쪽, H (hide) = -,s · S (show) = +,s 는 보내는 쪽 (보낼 것 고르기) 에만,
  P (protect) = -,r · R (risk) = +,r 은 받는 쪽 (지울 것 고르기) 에만. ",sr" 은 양쪽. 긴 이름 (hide · show · protect · risk) 도.
- 쪽마다 그 쪽에 걸리는 규칙만 위에서부터 보고 처음 맞는 것이 이긴다 (RsyncFilter.excluded = 보내는 쪽, protects = 받는 쪽).
- --delete-excluded 면 쪽을 적지 않은 규칙은 보내는 쪽에만 (rsync 와 같음 - 예전 동작과도 같은 결과).
- 지울 때 (previewSync · _mirrorV · 실시간 동기화 diff/_gone) 는 "거른 것 · --delete-excluded 아님" 대신 protects 로 지킨다:
  보내는 쪽에서만 거른 것 (H · -,s) 은 보내지 않았으므로 --delete 면 지운다 (28 의 a.txt 와 같은 일을 이제 미리 보기가 보임).
- 그 밖의 고치개 (,! · ,p · ,x · ,e 등) · H/S/P/R 에 붙은 고치개 · merge · "!" · exclude-from 파일 안의 규칙 머리는 그대로 미리 볼 수 없음.
기준 시험 rsync_phsr_test: 규칙 장면 31개 (양쪽에 같은 이름이 많은 장면) 마다 실제 rsync 를 돌린 (-n 아님) 결과 트리와
① 미리 보기로 예측한 트리 ② 원격 맞추기 (WebDAV) ③ 실시간 동기화 로컬 쌍 (묻는 목록 = rsync 가 지운 것 · 맞춘 뒤 맞출 것 없음)
④ 실시간 동기화 WebDAV 쌍 - 모두 같음. protects 를 예전처럼 (쪽 무시) 바꾸면 25개 장면이 다르게 나오는 것도 확인 (시험이 잡음).
바꾼 시험: rsync_filter_test (이 규칙들은 미리 볼 수 있음 · 15 재현은 이제 미리 보기도 a.txt 지움), P0 시험 · 경고 창 시험 ·
P0 캡처는 아직 따르지 못하는 merge 규칙 (파일 안에 "H a.txt") 으로, P 는 이제 따르므로 "묻는 목록에 지킨 것 없음" 으로.
smb_test 의 28 장면 시험에 5분 (여러 시험을 함께 돌리면 기본 30초를 넘음).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:04:28 +09:00
RyuJongJin 39c6d9dce4 시험: WebDAV · SMB 맞추기도 실제 rsync 결과 트리와 같음 (28 의 장면 · 옵션 28개, 검토 대기)
관리자 지시 (10/20) 2번 - 위키 974 목록 8 "원격 동기화도 거르기를 따름" 의 📱 ⏸ 가운데 기기 없이 할 수 있는 것:
28 이 손으로 한 WebDAV 21 장면 비교를 시험으로 남기고 (시험 WebDAV 서버), SMB 는 가짜 채널로 같은 28개.
네 원격 (WebDAV · SFTP · FTP · SMB) 모두 결과 트리 (폴더 · 파일 · 글) 가 실제 rsync 와 같음 - 코드 변경 없음.
rsync_scenes 의 bundledRsync 를 sceneRsync 로 (live_sync.dart 의 같은 이름과 겹침).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 11:25:14 +09:00
RyuJongJin 83e9fdd676 시험: SFTP · FTP 맞추기 결과 트리 = 실제 rsync 결과 트리 (28 의 장면 · 옵션 28개, 검토 대기)
관리자 지시 (10/20): 28 이 WebDAV 로 비교한 장면 · 옵션 (rsync_filter_test 의 "28 의 장면" 27개 + 지우기 없는 거르기 1개) 을
SFTP (paramiko) · FTP (pyftpdlib) 시험 서버로. 같은 장면을 로컬에서 실제 rsync (앱에 든 rsync.exe) 로 맞춘 결과 트리와
원격 맞추기 (FileOps.mirror + 옵션의 지우기 · 거르기) 뒤 서버 폴더의 트리 (폴더 · 파일 · 글) 를 비교. 28개 모두 같음 - 코드 변경 없음.
거르기를 빼고 돌리면 다른 점 423줄로 실패하는 것도 확인 (시험이 실제로 잡는지).
장면 · 비교 도구는 test/support/rsync_scenes.dart 로 (다른 원격 시험도 쓰게).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 11:20:38 +09:00