to3796zw 5807279c4f feat: 소스 전용 암호 zip 백업 AutoZip.bat 추가
저장소를 통째로 전달하려면 21.6GB(.git 8.2 / Doc 5.1 / _out 1.2 / packages 1.1 …)를
옮겨야 했다. 실제로 필요한 것은 Visual Studio에서 다시 빌드할 수 있는 소스뿐이고,
그 집합은 2,025개 / 20.2MB → 압축 후 5.8MB 다.

압축 암호는 ub8877 이다. AutoZip.bat 상단 PW 변수에 정의돼 있고 7za 의 -p 로 넘어간다.
zip 기본 암호화(ZipCrypto)를 쓴다 — AES-256 은 구버전 알집에서 열리지 않는 사례가 있어
호환을 택했다. 바꾸려면 압축 명령에 -mem=AES256 만 붙이면 된다.
암호가 걸린 사내 전달용 아카이브이며 자격증명이 아니다.

동작
- 배치파일 위치(%~dp0)를 기준으로만 동작한다. 절대경로 없음.
- 파일 목록을 박아두지 않고 확장자 화이트리스트로 거른다. .cs/.xaml 을 추가해도
  이 배치파일은 고칠 필요가 없다.
- 포함: .sln .csproj .cs .xaml .resx .config .settings .manifest .snk
        + 빌드 리소스 이미지(.png .ico .jpg .bmp .gif .cur .ttf)
  csproj 에 <Resource Include="Resources\*.png" /> 가 있어 이미지를 빼면 빌드가 깨진다.
- 제외: obj bin .git .vs packages _out* External Doc docs _dummyImages
        _workspace .claude .serena __pycache__ 및 이전 *.zip
- 결과물은 루트에 ILSOS_All_src_YYYYMMDD_HHmmss.zip 으로 떨어지고,
  다음 실행 때 압축 대상에서 제외된다(.gitignore 에도 등록).

tools/7za.exe (7-Zip 18.05 x64, 단독 실행본)를 동봉했다. Windows 기본 tar/Compress-Archive
는 암호 zip 을 만들지 못하고 이 PC에 7-Zip 이 설치돼 있지 않아 설치 없이 돌아가게 했다.
7-Zip 은 LGPL 이라 재배포 가능하다.

인코딩은 CP949 로 저장했다. UTF-8 + chcp 65001 조합은 cmd 가 배치 실행 도중 코드페이지를
바꿀 때 파일 읽기 위치가 어긋나 이후 줄이 통째로 오파싱된다(실행 실패 확인).

검증: zip 생성/암호(무암호 테스트 실패·정상 암호 통과)/포함(.cs 1365 .xaml 289 .resx 59
.csproj 45)/제외 전 항목 0건/재실행 시 이전 zip 미포함/cmd 한글 출력 정상.
한계 — External·packages 를 제외하므로 받는 쪽에서 참조 DLL 과 NuGet 패키지는 따로 확보해야 한다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 11:29:45 +09:00

89 lines
1.7 KiB
Plaintext

*.suo
*.user
*_wpftmp.csproj
*.pdb
_ReSharper.*
obj/
.vs/
*.user
intermediate*/
_intermediate/
_out/
_release/
_test/
_out_prismatic_scanner/
_out_prismatic_cleanlaser/
_out_prismatic_gun/
_out_prismatic_rd_tdc/
_out_prismatic_rd_ptop/
_out_sample_weld_equipment/
_out_smw/
_out_lhs/
_out_pribat/
_out_pam_rum/
AuroraDevices/AuroraACS/bin
AuroraDevices/AuroraCAS/bin
AuroraDevices/AuroraMotor/bin
AuroraVision/VisionInspector/bin
/WeldingComponents/LASA/GUI/bin/
/WeldingComponents/WeldingCommon/bin/
bin/
# 예외: External/Aurora 폴더의 bin은 전체 커밋
!/External/Aurora/bin/
!/External/Aurora/bin/**
/.git.zip
/.gitignore
/UnTrackedLocalFiles
# AutoZip.bat 산출물 (소스 백업 zip)
/ILSOS_All_src_*.zip
.claude/
.ubisam_agent/
/CLAUDE.md
/README.md
/rules.md
.serena/
__pycache__/
*.pyc
# docs 전체 — 로컬 전용, GIT 추적 제외
/docs/
# 로컬 전용 Aurora 에이전트 레퍼런스 (커밋 제외)
/docs/Aurora에이전트레퍼런스모음/
# Ubisam 산출물 — 로컬 전용, GIT 추적 제외
/docs/\[Ubisam산출물\]/
# docs 하위 이미지 — 변경 추적 제외 (작업사진·캡처·도식 등 용량 큰 바이너리)
# 특정 이미지를 꼭 커밋해야 하면 : git add -f <파일경로>
/docs/**/*.png
/docs/**/*.jpg
/docs/**/*.jpeg
/docs/**/*.gif
/docs/**/*.bmp
/docs/**/*.webp
/docs/**/*.svg
/docs/**/*.tif
/docs/**/*.tiff
/docs/**/*.ico
/docs/**/*.heic
/docs/**/*.emf
/docs/**/*.wmf
# Office 임시·잠금 파일 — xlsx/docx/pptx 를 열면 같은 폴더에 생기는 소유자 파일
# 이미 추적 중인 파일은 이 규칙으로 빠지지 않는다 : git rm --cached '<경로>'
~$*
.~lock.*#
# OS·편집기 임시 파일
Thumbs.db
ehthumbs.db
Desktop.ini
.DS_Store
*.tmp
*.bak