New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #31205 (assigned defect)

Opened 21 months ago

Last modified 21 months ago

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

Reported by: arno+macports@… Owned by: ryandesign@…
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

tardiff-reparent.patch (457 bytes) - added by arno+macports@… 21 months ago.
Patch to reparent archive contents during comparison

Change History

Changed 21 months ago by arno+macports@…

Patch to reparent archive contents during comparison

comment:1 Changed 21 months ago by raimue@…

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

comment:2 Changed 21 months ago by ryandesign@…

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

comment:3 Changed 21 months ago by ryandesign@…

  • Status changed from new to assigned

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 21 months ago by arno+macports@…

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

Note: See TracTickets for help on using tickets.