[Backalaika-developers] New zipping issues, would appreciate any comments
Status: Beta
Brought to you by:
nandof
|
From: Nando F. <nan...@ma...> - 2004-10-07 01:46:35
|
CHANGE HISTORY
==============
nf 2004-10-06
- Implemented exclusion of subfolders from backup.
- Implemented SeparateSubfolders: puts each subfolder in its own zip
file. (Only for the first level of SUBfolders.)
nf 2004-10-05
- Implemented compression level. Configurable in profile.
- Extensions {ZIP,RAR,GZ,LZH,PAK,CAB} -- and files shorter than 48 bytes
-- are stored instead of compressed.
- Added CodePage to profile, but NOT to Zipper, because I don't know how.
Possible tasks for now (in optimized order)
======================
- TOP PRIORITY: International characters in the names of files and
folders, such as çãõéê, cyrillic etc., get different (wrong) when
zipped. They must be getting encoded in an MS-DOS character set instead
of a Windows character set. Find a fix. It has to do with the SharpZip
library. Does it support other character sets for filenames? Does the
ZipSharp application address this issue?
(The code that calls the ZipSharp library is in the Zipper class in file
ZipService.cs.)
Dimitry: I propose ro rework SharpZipLib and setup filename codepage in
profile setup
Dimitry: SharpZipLib uses Encoding.ASCII... or
Encoding.GetEncoding(DefaultCodePage) in ZipConstants.cs. Both header
and file content converts using one codepage - DefaultCodePage. But File
name must be packed using DOS codepage like 866 and File Content must be
packed using Default Windows codepage like Win-1252
Nando: where are you reading all that from?
Dimitry: ZipConstants.cs lines 381-385 and 411-415. To fix this problem
we should add special functions to ZipConstants.cs to convert names
Nando: Would you care to do this job?
Dmitry Melanchenko: I think yes
Nando: These changes should be contributed to #ZipLib huh?
Dmitry Melanchenko: yes
Dmitry Melanchenko: I will contact with somebody from #ZipLib
- When zip file size reaches more or less 2,24 GB, the following
exception is thrown by #ZipLib:
Specified argument was out of the range of valid values.
Parameter name: Offset
Which should we do to correct this?
1) Switch to some other compression
2) Contribute changes to #ZipLib so its zip classes support larger files
3) Make Backalaika start a new zip file when necessary (this would be OK
for most people, but what about that user who wants to back up his HD
full of images of DVDs?)
4) ?
|