View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003806 | Plugins | Arclite | public | 2020-06-25 10:15 | 2020-07-31 18:01 |
Reporter | ggost | Assigned To | 2useven10 | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | no change required | ||
Platform | x64 | OS | Windows | OS Version | 10 |
Product Version | 3.0 | ||||
Summary | 0003806: неправильно распаковывается структура каталогов и файлов. | ||||
Description | конкретный архив https://cobalt.googlesource.com/cobalt/+/refs/heads/20.lts.stable [tgz] в FAR-е показывает верхнюю структуру каталога в архве как /PaxHeaders.X/ /src/ codereview.settings а в приложении 7z как /./PaxHeaders.X/ /src/ codereview.settings соответственно 7z распаковывает это более правильно /_/PaxHeaders.X/ /src/ codereview.settings Как понимаю, проблема именно в arclignt и гугловской нотации файловых имён, потому что замена 7z.dll на более свежую (v19 на v20) ничего не меняет. В итоге при разархивации через FAR получаются неправильные каталоги и даже происходит наложение файлов. Было бы неплохо, 1. чтобы уже при просмотре внутреннего tar выдавалось предупреждение, что имена не соответствуют ограничениям имён Windows и будут переименовываться. Ну и предложить попользоваться внешним архиватором, на всякий случай. 2. если уж, не внявши предупреждениям, юзер будет распаковывать архив средствами FAR, то не терять символы из имён файлов и конвертировать их нормально, чтобы не получалось наложений и конфликтов. | ||||
Steps To Reproduce | 1. конкретный архив https://cobalt.googlesource.com/cobalt/+/refs/heads/20.lts.stable [tgz] 2. распаковать череp FAR и через приложение 7z в разные каталоги 3. сравнить каталоги | ||||
Tags | No tags attached. | ||||
|
файл https://cobalt.googlesource.com/cobalt/+archive/refs/heads/20.lts.stable.tar.gz |
|
1) Независимо от того как показывать dir == ./dir и это правильно. 2) 7z распаковывает файлы в PaxHeaders.X, как и arclite (допотопные версии не проверял) 3) В архиве все оригинальные имена с какого-то перепуга (нотации) обрезаны до 100 символов. Поэтому: a) очень много повторяющихся имен -- одинаковых b) иногда последний символ точка -- windows умеет работать с такими именами, но только частично (explorer не умеет) Предупреждения о том что файл уже существует показывает как arclite так и 7z. Как распаковать такой архив 'правильно', врядли знаете вы сами. Поведение arclite абсолютно адекватно. Но если юзер понимает с чем он имеет дело и знает как правильно распаковывать такие файлы - осмысленная аргументация приветствуется. |
|
100 - видимо, ограничение формата .tar add: скорее всего до 100 символов имена обрезает 7z.dll |
|
Соответственно - к терапевту. |
|
Спрашивать надо про поддержку extended pax header https://stackoverflow.com/questions/34688392/paxheaders-in-tarball |
|
Если в 7z 19.00 в CPP\7zip\Archive\Tar\TarIn.cpp код со строки #446 if (item.Name.IsPrefixedBy("PaxHeader/") || item.Name.Find("PaxHeaders.4467/") >= 0) Заменить на такой if (item.Name.IsPrefixedBy("PaxHeader/") || item.Name.IsPrefixedBy("PaxHeaders.X/") || item.Name.IsPrefixedBy("./PaxHeaders.X/") || item.Name.Find("PaxHeaders.4467/") >= 0) То всё работает как надо. |
|
Проблема в 7z.dll можно сделать свою исправленную либу, но лучше дождаться исправления от Павлова. |
|
Если Павлову написали, можно сюда линк для истории? |
|
https://sourceforge.net/p/sevenzip/bugs/2265/ https://sourceforge.net/p/sevenzip/discussion/45797/thread/d95e3ad59b/ |
|
https://forum.farmanager.com/viewtopic.php?p=161730#p161730 |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-06-25 10:15 | ggost | New Issue | |
2020-06-25 10:17 | ggost | Note Added: 0016880 | |
2020-06-26 07:42 | 2useven10 | Note Added: 0016882 | |
2020-06-26 07:48 | 2useven10 | Note Added: 0016883 | |
2020-06-26 07:56 | 2useven10 | Note Edited: 0016883 | |
2020-06-26 08:07 | 2useven10 | Note Added: 0016885 | |
2020-06-26 10:14 | 2useven10 | Note Added: 0016886 | |
2020-06-26 12:29 | 2useven10 | Note Added: 0016887 | |
2020-06-26 12:30 | 2useven10 | Note Edited: 0016887 | |
2020-06-26 12:31 | 2useven10 | Note Edited: 0016887 | |
2020-06-26 16:37 | 2useven10 | Assigned To | => 2useven10 |
2020-06-26 16:37 | 2useven10 | Status | new => closed |
2020-06-26 16:37 | 2useven10 | Resolution | open => no change required |
2020-06-26 16:37 | 2useven10 | Note Added: 0016888 | |
2020-06-26 18:26 | DrKnS | Note Added: 0016889 | |
2020-06-26 19:27 | 2useven10 | Note Added: 0016890 | |
2020-07-31 17:51 | 2useven10 | Summary | неправильно распаковывается структура коталогов и файлов. => неправильно распаковывается структура каталогов и файлов. |
2020-07-31 17:52 | 2useven10 | Note Edited: 0016890 | |
2020-07-31 18:01 | 2useven10 | Note Added: 0016915 |