Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REQ] Allow case-sensitive compression? #1407

Closed
mejofi opened this issue Mar 3, 2024 · 7 comments
Closed

[REQ] Allow case-sensitive compression? #1407

mejofi opened this issue Mar 3, 2024 · 7 comments

Comments

@mejofi
Copy link

mejofi commented Mar 3, 2024

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
@aonez
Copy link
Owner

aonez commented Mar 4, 2024

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

@mejofi
Copy link
Author

mejofi commented Mar 5, 2024

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?

@mejofi
Copy link
Author

mejofi commented Mar 5, 2024

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.

@aonez
Copy link
Owner

aonez commented Mar 5, 2024

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.

@aonez
Copy link
Owner

aonez commented Mar 5, 2024

The fixed version is now here: https://beta.keka.io

Thanks again @mejofi

@mejofi
Copy link
Author

mejofi commented Mar 5, 2024

No longer seems to turn on when switching between the current MAS release and the beta 👍🏻

This build seems to have an odd UI issue with overlapping fields, though?
Screenshot 2024-03-05 at 15 08 15

@aonez
Copy link
Owner

aonez commented Mar 5, 2024

Thanks again! Fixed it already, will publish when I have more changes/features.

@aonez aonez closed this as completed Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants