Opened 9 years ago

Last modified 9 years ago

#31205 assigned defect

tardiff: comparisons are inaccurate for tarballs which do not contain an enclosing parent folder

Reported by: fracai Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: haspatch Cc:
Port: tardiff

Description

When tardiff compares archives that aren't constructed to contain a folder at their root, the comparison can misinterpret the structure of the archive and fail.

This patch prefixes each archive entry with ./ and then removes repeated instances of this string. This ensures that each entry lists a parent directory.

Attachments (1)

tardiff-reparent.patch (457 bytes) - added by fracai 9 years ago.
Patch to reparent archive contents during comparison

Download all attachments as: .zip

Change History (5)

Changed 9 years ago by fracai

Attachment: tardiff-reparent.patch added

Patch to reparent archive contents during comparison

comment:1 Changed 9 years ago by raimue (Rainer Müller)

Owner: changed from macports-tickets@… to ryandesign@…

comment:2 Changed 9 years ago by ryandesign (Ryan Schmidt)

I applied the portion that switches to using gnutar in r83860. I'm still testing the rest.

comment:3 Changed 9 years ago by ryandesign (Ryan Schmidt)

Status: newassigned

The remainder of the patch does not appear to be helpful for tarballs without a enclosing folder, and breaks tarballs with a enclosing folder. So a different solution is needed. Remember still my comment from earlier, that tarballs without an enclosing folder overwrite each other while extracting if they contain files of the same name, so a solution is needed there first. I'm working on an alternate solution now.

comment:4 Changed 9 years ago by fracai

Ah, I only tested this with tarballs containing different files, not changed files.

Note: See TracTickets for help on using tickets.