[REQ] Allow case-sensitive compression?
mejofi opened this issue · comments
Is your feature request related to a problem? Please describe
When creating an encrypted 7Z archive from a folder on a case-sensitive volume, keka7zz
exits with error code 2 whenever it encounters files that would be duplicates on a regular volume, such as 'Photo.jpg' and 'photo.jpg'.
Describe the solution you'd like
Some way to have Keka enable the -ssc
flag for 7Z archives, either via the GUI or as a hidden preference. Or perhaps it could be enabled by default, for compression?
Describe alternatives you've considered
The source data comes from a case-sensitive system, where we cannot enforce better file name handling, and is synced to a case-sensitive APFS volume to be able to create snapshots. Tried to run keka7zz
manually with the same flags as reported by the error message plus the -ssc
flag, but it exits with a Trace/BPT trap: 5
error, meaning we cannot work around it.
Using the same version of 7zz
as downloaded from the main website works as expected; fails with the same error, succeeds when the -ssc
flag is added.
Additional context
Redacted output from error message follows;
OS: Version 14.3.1 (Build 23D60) (arm64)
Keka: v1.3.7-r5302 (MAS) (Sandboxed) (en-GB)
Binary used: keka7zz
Arguments: (
a,
"-t7z",
"-snh",
"-snl",
"-mx5",
"-p",
"-mhe",
"-ms=on",
"-xr!.DS_Store",
"-xr!.localized",
"-xr!._*",
"-xr!.FBC*",
"-xr!.Spotlight-V100",
"-xr!.Trash",
"-xr!.Trashes",
"-xr!.background",
"-xr!.TemporaryItems",
"-xr!.fseventsd",
"-xr!.com.apple.timemachine.*",
"-xr!.VolumeIcon.icns",
"-bsp1",
"-spd",
"/Volumes/CaseSensitiveVolume/client-backups-20240303/website-20240303.7z",
"/Volumes/CaseSensitiveVolume/client-backups-20240303/website-20240303"
)
7-Zip (z) 23.01 (arm64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20 : Modified by aone for Keka
64-bit arm_v:8 locale=en_US.UTF-8 Threads:12 OPEN_MAX:4864 temp_path:/Users/[REDACTED]/Library/Containers/com.aone.keka/Data/Library/Application Support/Keka/Temp/, ASM
Scanning the drive:
0M Scan
1091M 14514 Scan /Volumes/CaseSensitiveVolume/client . [REDACTED]
1744 folders, 16396 files, 1608287272 bytes (1534 MiB)
Creating archive: /Volumes/CaseSensitiveVolume/client-backups-20240303/website-20240303.7z
ERROR:
Duplicate filename on disk:
website-20240303/path/to/file/in/subdirectory/Photo.jpg
website-20240303/path/to/file/in/subdirectory/photo.jpg
Error code 2
Additional context (2)
Relevant version info from local 7zz
binary;
$ ~/bin/7zz
7-Zip (z) 23.01 (arm64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20
64-bit arm_v:8 locale=UTF-8 Threads:12 OPEN_MAX:256, ASM
Thanks a lot @mejofi. You're right, this should be not just default but mandatory. Here a build with this flag implemented:
https://github.com/aonez/Keka/releases/download/dev-test-builds/Keka-v1.4.0-dev.r5349.7z
When testing with the dev test build, the archive is created with a .exe
suffix, instead of .7z
? It expands, and I can rename it if needs be, but this seems like an unintended change?
Ah, never mind, apparently 'Self extracting archive for Windows' is a new option in 1.4.0, and turned on by default? Off by default may be a better choice 😄
Looks like it works otherwise, though.
Yes sorry this is a mistake in that build, that option shouldn't be enabled by default. Will release a new dev version today with that fixed.
The fixed version is now here: https://beta.keka.io
Thanks again @mejofi
Thanks again! Fixed it already, will publish when I have more changes/features.