Keka icon indicating copy to clipboard operation
Keka copied to clipboard

7z format doesn't keep creation date

Open jief666 opened this issue 6 years ago • 14 comments

jief666 avatar Apr 14 '19 13:04 jief666

?

gingerbeardman avatar Apr 14 '19 15:04 gingerbeardman

After uncompressing a folder, the creation time are set to modification time (at least on folder). I must say that all the other tools I've tried do the same. Including 7zip command line with -stc=on.

jief666 avatar Apr 14 '19 16:04 jief666

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar May 07 '19 16:05 stale[bot]

Closed ? The issue is still there : creation time are not preserved.

jief666 avatar May 16 '19 12:05 jief666

@jief666 where did you got that stc switch? I may be missing something but can't find that one:

<Switches>
  -- : Stop switches parsing
  -ai[r[-|0]]{@listfile|!wildcard} : Include archives
  -ax[r[-|0]]{@listfile|!wildcard} : eXclude archives
  -ao{a|s|t|u} : set Overwrite mode
  -an : disable archive_name field
  -bb[0-3] : set output log level
  -bd : disable progress indicator
  -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line
  -bt : show execution time statistics
  -i[r[-|0]]{@listfile|!wildcard} : Include filenames
  -m{Parameters} : set compression Method
    -mmt[N] : set number of CPU threads
  -o{Directory} : set Output directory
  -p{Password} : set Password
  -r[-|0] : Recurse subdirectories
  -sa{a|e|s} : set Archive name mode
  -scc{UTF-8|WIN|DOS} : set charset for for console input/output
  -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files
  -scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands
  -sdel : delete files after compression
  -seml[.] : send archive by email
  -sfx[{name}] : Create SFX archive
  -si[{name}] : read data from stdin
  -slp : set Large Pages mode
  -slt : show technical information for l (List) command
  -snh : store hard links as links
  -snl : store symbolic links as links
  -sni : store NT security information
  -sns[-] : store NTFS alternate streams
  -so : write data to stdout
  -spd : disable wildcard matching for file names
  -spe : eliminate duplication of root folder for extract command
  -spf : use fully qualified file paths
  -ssc[-] : set sensitive case mode
  -ssw : compress shared files
  -stl : set archive timestamp from the most recently modified file
  -stm{HexMask} : set CPU thread affinity mask (hexadecimal number)
  -stx{Type} : exclude archive type
  -t{Type} : Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options
  -v{Size}[b|k|m|g] : Create volumes
  -w[{path}] : assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]{@listfile|!wildcard} : eXclude filenames
  -y : assume Yes on all queries

aonez avatar May 16 '19 17:05 aonez

I think it was -mtc=on.

jief666 avatar May 16 '19 20:05 jief666

@aonez The problem can be fixed for created time, see here. https://superuser.com/questions/655781/what-other-archive-formats-save-date-created-and-date-accessed

7-zip GUI: write "tc ta" into "Parameters:" textfield 7-zip command line: specify "-mtc -mta -mtm" parameters tc stands for creation time, ta stands for access time and tm stands for modification time

The modification time is stored by default.

In addition, access time should also be stored by default. This should also be added for .zip for access time.

It would be good if you can integrate an extra area for timestamps in Keka UI.

Then the users can select that for their formats.

Store timestamps:

Accessed                      xxx
Created                        xxx
Modified                      xxx

xxx = means that users can select their archive formats. All archive formats should be displayed, if there are archive formats that are not supported then they will be grayed out and the user will not be able to select them for that category.

Note:

It is also important that Keka correctly preserves the respective timestamps when extracting these archive formats.


What do you say you can add it?

ghost avatar Mar 18 '21 00:03 ghost

@aonez

I see a reaction, but no answer. Can you help?

In 7-Zip (GUI) on Windows it is possible directly in the GUI for .7z to add the Parameters: tc and then also created time are stored.

image

image 2

ghost avatar Mar 22 '21 19:03 ghost

Sure this can be added. Only tc and ta are not on by default.

aonez avatar Mar 25 '21 10:03 aonez

Sure this can be added. Only tc and ta are not on by default.

It would be very good if for the convenience of the user tc, tm and ta would show as option names for .7z

That is

tc = store created time ta = store accessed time tm = store modified time

What about .zip and other archive formats if they also have such parameters, I think so. Because by default Windows filesystems like NTFS, FAT32, exFAT and macOS APFS or HFS+ support these 3 timestamps (created, modified and accessed) since decades.

It should not be displayed as parameters like in 7-Zip GUI on Windows, because most users don't know that. But if it is translated as option name then users know immediately what it means and can activate it manually or not.

Hence the idea with the extra timestamp menu area. See my suggestions again https://github.com/aonez/Keka/issues/398#issuecomment-801532509

Can you add the suggestion or what is your idea? Or do you want to change only the default behavior, but the possibility to enable or disable it manually is not planned?

ghost avatar Mar 26 '21 15:03 ghost

@aonez, Congrats on Keka! Could you clarify (forgive if I should infer the answer based on the inline dialogue here):
Q1: Does a Keka archive currently preserve Created and Accessed values? Q1a: Would this work whether Keka is used for encrypted archiving of a folder on a HD (Desktop) itself (say a Macbook Pro running Catalina or Big Sur) vs. on an exFAT-formatted SSD attached to that computer? Q1b: Would a recipient of an encrypted Keka archive on that same exFAT SSD external be able to open it with Created, Modified, and Accessed values intact in a Windows environment (using something like 7-Zip)? Basically, I'm wondering whether Keka could be thus employed for cross-platform Mac > Windows encrypted transfer that preserves all three original MAC values. Thank you!

sure-noproblem avatar Sep 25 '21 18:09 sure-noproblem

In case it's useful to anyone: The path implemented for secure and unmodified Mac to Windows transfer using Keka is ISO volumes (to preserve the MAC values), then 7Z archives of the ISO volumes (to encrypt). The Created timestamp did not survive the transfer to Windows for other Keka archive formats tested, namely 7Z (alone), TAR, or GZIP. Using exFAT SSD media. Using WinRAR to extract.

sure-noproblem avatar Sep 29 '21 00:09 sure-noproblem

Thanks for the testing @sure-noproblem. I'm surprised TAR (or any tarball) did not preserved those timestamps. I'll check it out.

aonez avatar Sep 29 '21 09:09 aonez

Turns out 7Z archive of the ISOs didn't work--Keka's throwing Error Code 2. So not sure how to encrypt the ISOs. (Mac's native Terminal password encryption didn't work on the ISOs either, and earlier attempts to create DMGs from the original folders via Mac Disk Utility had also failed.) Good fun. The folders are about 4 GB, (multiple MBOXs), 27 GB (multiple MBOXs), and 150 GB (numerous non-email files). As an ISO via Keka the latter 150 GB folder is 60 GB.

sure-noproblem avatar Sep 29 '21 17:09 sure-noproblem