Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Total7zip
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 63, 64, 65  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Dec 03, 2010 22:03    Post subject: Reply with quote

Первая же причина, по которой паковаться может не вся папка, а только её часть - список исключений. Я выше об этом писал. Если у тебя в списке исключений есть строки, фильтрующие часть файлов папки, добавляемой в архив, тотал просто не перечислит эти файлы в списке, передаваемом архиватору. И в таком случае паковать всю папку - неправильно. Все плагины должны вести себя одинаковым образом, а не так, что один - так, другой - эдак.

А 60000 строк или одна - это лишь сваливание работы по перечислению файлов с тотала на внешний архиватор. В любом случае кому-то придется перечислять файлы.

В конце концов, если кому-то хочется передавать в списке лишь объекты верхнего уровня - парой страниц раньше я приводил код кнопки, которая именно это и делает - вызывает 7zG с отображением диалога параметров сжатия, при этом передавая список выделенных в панели объектов. И не надо вызывать диалог упаковки, выбирать архиватор...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Reflector



Joined: 29 Nov 2009
Posts: 56

Post (Separately) Posted: Fri Dec 03, 2010 23:08    Post subject: Reply with quote

MVV wrote:

Первая же причина, по которой паковаться может не вся папка, а только её часть - список исключений. Я выше об этом писал. Если у тебя в списке исключений есть строки, фильтрующие часть файлов папки, добавляемой в архив, тотал просто не перечислит эти файлы в списке, передаваемом архиватору. И в таком случае паковать всю папку - неправильно. Все плагины должны вести себя одинаковым образом, а не так, что один - так, другой - эдак.

Я же просил привести пример того, что именно можно безопасно хранить в списке исключений. Ничего там нельзя хранить, иначе при упаковке можно потерять часть данных. Тотал фильтрует список только для zip, архиваторные плагины всегда получают полный список(только что проверил), в том числе архиваторы которые получаю список напрямую, например, если прописать в тотале внешний rar. Глупая идея приводящая к потере данных(я сам до сегодняшнего дня был уверен, что список просто файлы скрывает), так еще и с разными архиваторами работающая по-разному.

Quote:

А 60000 строк или одна - это лишь сваливание работы по перечислению файлов с тотала на внешний архиватор. В любом случае кому-то придется перечислять файлы.

60000 строк или одна, 40 сек или 6 - это все не имеет значения? А вспомни с чего все началось... Скорее всего я нажал во время упаковки отмену, затем дал паковать второй раз, через 2 сек после этого появился 7zG запущенный во время первой паковки, потому что он уже пол минуты невидимо висел в процессах и обрабатывал список, о чем я, конечно, не знал. Это нормальное поведение? Smile Зачем давать делать архиватору то, что он делает очень медленно...

Quote:

В конце концов, если кому-то хочется передавать в списке лишь объекты верхнего уровня - парой страниц раньше я приводил код кнопки, которая именно это и делает - вызывает 7zG с отображением диалога параметров сжатия, при этом передавая список выделенных в панели объектов. И не надо вызывать диалог упаковки, выбирать архиватор...

Это костыль, такой же как и упаковка внешним архиватором.
Back to top
View user's profile Send private message
Total7zip



Joined: 27 Nov 2010
Posts: 287

Post (Separately) Posted: Fri Dec 03, 2010 23:18    Post subject: Reply with quote

кстати, господа, я попробовал ту же версию плагина на Win XP.
точно так же выбрал каталог Windows.
и там произошло следующее - сначала тормозил тотал, составляя полный список файлов, а потом почти мгновенно запустился 7zG.
Так что возможно есть в нем какой-то глюк, который проявляется под семеркой.

Даже несмотря на то что в XP папка в несколько раз меньше, меня удивило, что тормоза в тотале остались, а в 7zG исчезли...


и еще - по поводу перекладывания работы на архиватор - это существенно ускоряет процес, так как в этом случае архиватор не думает, что ему дали 60 000 масок. он просто строит список файлов сам.

это так, для размышления.
=)
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sat Dec 04, 2010 00:29    Post subject: Reply with quote

Масок или нет - ему думать и не надо. Вызвать FindFirstFile, а затем вызывать FindNextFile, пока не отбой.

Проверил сейчас на Total7zip - какие файлы отображались в панели, такие и упаковались. Игнорируемые файлы в архив не попали. Это к вопросу о том, можно ли заменять список файлов верхней папкой.

Думаю, если сделать возможными фоновые операции, или просто выполнять большую часть работы в фоновом потоке, можно избавиться от необязательного ожидания - построить свой список файлов и передать дело фоновому потоку для запуска архиватора.

Мои тесты были на XP, но с папкой Windows от семерки.

При тестах также не забывайте, что первый раз перечисление содержимого папки длится дольше из-за кэширования.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Reflector



Joined: 29 Nov 2009
Posts: 56

Post (Separately) Posted: Sun Dec 05, 2010 14:57    Post subject: Reply with quote

MVV wrote:

Проверил сейчас на Total7zip - какие файлы отображались в панели, такие и упаковались. Игнорируемые файлы в архив не попали.

Значит я проверил на своей версии плагина Smile

Quote:

Это к вопросу о том, можно ли заменять список файлов верхней папкой.

Снова пакуем Win7, но на этот раз одной из сборок, где в список исключений внесены recycler, desktop.ini и т.д., просто потому, что авторы думают будто всего лишь спрятали файлы, т.к. в описании написано "исключить(не показывать)". Уверен, большинство пользователей очень удивятся когда десяток desktop.ini из самой папки Windows в архив не попадет, а если почитать статьи в которых чего только не предлагают добавлять в список исключений, то становится понятно насколько потенциально деструктивно игнорирование списка при файловых операциях.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sun Dec 05, 2010 17:47    Post subject: Reply with quote

Это уже пусть голова болит у тех, кто использует список исключений и сборки (насчет последнего со мной согласится большая часть форумчан).

Лучше знать, что файлы могут не попасть в архив из-за списка исключений, чем не знать этого и когда-нибудь на это напороться. А когда половина плагинов действует по списку исключений, а другая - нет, шанс напороться несоизмеримо выше.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10256
Location: Россия, Саратов

Post (Separately) Posted: Sun Dec 05, 2010 18:09    Post subject: Reply with quote

Reflector wrote:
я сам до сегодняшнего дня был уверен, что список просто файлы скрывает

Reflector wrote:
становится понятно насколько потенциально деструктивно игнорирование списка при файловых операциях

Справка TС wrote:
Настройка исключения заданных файлов/каталогов: они не будут отображаться в списке и участвовать в файловых операциях. Эта функция работает только с обычными файлами/каталогами. Файлы на FTP-серверах, внутри архивов и виртуальных папок (таких как Рабочий стол) не могут быть объектами исключения.

Это преамбула соответствующего диалога настроек. Если кто-то храбро использует функцию исключения, игнорируя вышеприведённую информацию — последствия за его счёт. Но, в конце-то концов, кнопка для временного включения/отключения этой функции создаётся за полминуты... А встроенный ZIP-архиватор действительно список учитывает. В отличие от всего остального.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Reflector



Joined: 29 Nov 2009
Posts: 56

Post (Separately) Posted: Sun Dec 05, 2010 21:08    Post subject: Reply with quote

Avada wrote:

Это преамбула соответствующего диалога настроек. Если кто-то храбро использует функцию исключения, игнорируя вышеприведённую информацию — последствия за его счёт. Но, в конце-то концов, кнопка для временного включения/отключения этой функции создаётся за полминуты... А встроенный ZIP-архиватор действительно список учитывает. В отличие от всего остального.

Для того, чтобы храбро использовать список исключений нужно знать чем рискуешь, а знают об этом единицы, потому и советуют добавлять в него все что угодно. Вот найди мне в дистрибутиве тотала информацию о том, что файлы присутствующие в списке исключений игнорируются при копировании или упаковке...
Back to top
View user's profile Send private message
Reflector



Joined: 29 Nov 2009
Posts: 56

Post (Separately) Posted: Sun Dec 05, 2010 21:56    Post subject: Reply with quote

MVV wrote:

Лучше знать, что файлы могут не попасть в архив из-за списка исключений, чем не знать этого и когда-нибудь на это напороться. А когда половина плагинов действует по списку исключений, а другая - нет, шанс напороться несоизмеримо выше.

Как я говорил, люди не знают, что файлы могут не попасть в архив, а если бы знали, то списком исключений вообще мало кто бы пользовался, а это значит, что в любом случае польза от него минимальна. Стоит ли ради сомнительной выгоды жертвовать надежностью хранения данных? Да, Гислер уже реализовал данную функциональность, но продвигать ее только потому, что она уже есть и делать крайним рядового пользователя чьей-то сборки... Я считаю, что список исключений в существующем виде приносит больше проблем, потому напротив нужно добиваться исключения его самого. Пользователя не должны волновать чьи-то безумные идеи, он ожидает получить на выходе нормальный архив и уж тем более он не должен каждый раз перед упаковкой нажимать какие-то кнопки создаваемые за пол минуты...
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10256
Location: Россия, Саратов

Post (Separately) Posted: Sun Dec 05, 2010 22:12    Post subject: Reply with quote

Reflector wrote:
Вот найди мне в дистрибутиве тотала информацию о том, что файлы присутствующие в списке исключений игнорируются при копировании или упаковке

Я привёл выше цитату из справки, выделив значимый фрагмент. Это не информация? Если её кто-то не желает читать и понимать — виноват разработчик?

Reflector wrote:
Я считаю, что список исключений в существующем виде приносит больше проблем, потому напротив нужно добиваться исключения его самого.

Это здесь не по адресу. К авторам сборок, пожалуйста.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sun Dec 05, 2010 22:59    Post subject: Reply with quote

ИМХО, если список исключений используется для фильтрации чего-то нужного юзеру в архиве, это точно его проблемы. А если в архив не попадет папка Recycler, пара файлов desktop.ini, папка .svn или еще что-то подобное, ничего страшного не произойдет - эти файлы в большинстве своем не модифицируются конечным пользователем. Главное - чтобы все модули программы, выполняющие схожие функции, работали идентичным образом, а не абы как.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Total7zip



Joined: 27 Nov 2010
Posts: 287

Post (Separately) Posted: Mon Dec 06, 2010 14:13    Post subject: Reply with quote

нужна помощь!

делаю настройки - чтоб можно было вызвать диалог, настроить один раз настройки компрессии и не лицезреть этот диалог каждый раз.

возник такой вопрос. 7zip хранит настройки в реестре

Code:
[HKEY_CURRENT_USER\Software\7-Zip\Compression\Options\7z]
"Level"=dword:00000009
"Dictionary"=dword:02000000
"Order"=dword:00000040
"BlockSize"=dword:00000020
"NumThreads"=dword:00000002
"Method"="LZMA"


"Level", "Dictionary", "NumThreads" и "Method"
я научился передавать через параметры командной строки, а кто поможет с "Order" и "BlockSize"?
"Order" - соответствует настройке "размер слова" в диалоге,
а "BlockSize" - 20, 21, 22.... увеличивается на 1 для каждого следующего значения в диалоге.
Back to top
View user's profile Send private message
Reflector



Joined: 29 Nov 2009
Posts: 56

Post (Separately) Posted: Mon Dec 06, 2010 15:09    Post subject: Reply with quote

Total7zip wrote:

"Order" - соответствует настройке "размер слова" в диалоге,

Размер слова - это fast bytes, fb={N}.

Quote:

а "BlockSize" - 20, 21, 22.... увеличивается на 1 для каждого следующего значения в диалоге.

Отними 20 и получишь индекс для списка в 7zG. Дальше размер передается, например, так: s=4g. Это все описано в документации(ключ -m).
Back to top
View user's profile Send private message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Mon Dec 06, 2010 15:33    Post subject: Reply with quote

Total7zip wrote:
а "BlockSize" - 20, 21, 22.... увеличивается на 1 для каждого следующего значения в диалоге.

Это размер solid блока=2^N (байт)
где N - число, упомянутое в цитате (сохраненное в реестре).
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Reflector



Joined: 29 Nov 2009
Posts: 56

Post (Separately) Posted: Mon Dec 06, 2010 15:48    Post subject: Reply with quote

gora wrote:

Это размер solid блока=2^N (байт)

Да, выходит что так...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 63, 64, 65  Next
Page 8 of 65

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group