2.05
- allow NFC/NFD conversion on APFS volumes, add man page section for that filesystem
- use case- and normalization-insensitivity workarounds also for parsable mode
2.04
- check for valid utf-8 also in upperlower_checkenc()
- fix parsable output, missed the path files to run utime() on
- add --run-parsable option to blindly run what a file generated with --parsable tells us to do
Changelog:
2.03
- fix man page build due to non-ASCII char (thanks, Anton!)
2.02
- add option --caseful-sz to optionally treat upper-/lowercasing of sz. This also fixes unwanted unidirectional lowercasing of U+1E9E
Problems found with existing distfile:
distfiles/libiconv-1.13-cp932.patch.gz
No changes made to the libiconv distinfo file.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
2.0
- fix checks for NFD conversion, where convmv could run into a "resulting filename is ... bytes long (max: 255) error message for no obvious reason.
- the --preserve-mtimes option is the default now
- fix a bug where mtimes might not be restored in some cases
- add --map option to support additional character mappings like to mapping Microsoft's illegal NTFS characters
- issue warning if we cannot traverse a directory in recursive mode
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
1.15
- add --dump-options to make it easier to allow people to write a
bash completion file. Let me know when you have one ready :-)
- fix a bug where on case-insensitive filesystems --upper and
--lower did not work because we thought the new file would already
exist (stat "foo" and stat "FOO" are the same, yeah. The obvious
workaround to use "--replace" would delete the files on case-insensitive
filesystems instead, which was even worse. Case conversion should
be working well now, I tested it on Darwin and on case-insensitive
XFS. The latter one is a bit buggy by the way, see
https://bugzilla.kernel.org/show_bug.cgi?id=39512. convmv works
around that bug, too.
1.14
- this release is once more dedicated to Perl::Encode. There is no
way to do a check for valid UTF-8 which works with all Perl releases
from 5.8.0 up to 5.10.0. We now have to test which code works in
our Perl's Encode version and then decide which code path to go.
1.13
- move non fatal Perl bug checks into the help screen output
- fix Perl warnings when wrong/unknown charset is used
- run check for some essential Encode functionality at every startup
- add --fixdouble option to only fix files that are double-UTF-8 encoded
- add --parsable option to allow convmv output parsable suggestions for external tools to to something with it
- add --preserve-mtimes option to restore mtimes of parent directories
- allow an argv to be a symlink
- don't checksum deleted files in tar ball and use sha256 now
- allow skippig of certain test suite tests, useful for OS X to skip NFC/NFD related stuff, for example "make test SKIPTESTS=nfd-test,someothertest" will skip that test(s)
Pkgsrc changes:
- The packages supports installation to DESTDIR.
- No more requirement for coreutils/findutils and patch-ab.
- Switched to predefined REPLACE_SH instead of using subst.mk directly.
- Cosmetic changes for MAKEFLAGS.
- The shell script mk/check/check-portability.sh gets confused by some of
the file names in the test archive: skip them.
- Extracting files from testsuite.tar often fails on Darwin (with HFS?)
so we skip this part.
- Extract test archive with pax, it is available on every pkgsrc system.
- Submitted patch-aa to author of convmv long ago.
Changes since version 1.10:
===========================
1.12
- now work with Perl 5.10 using an eval block
- GPL v2 and v3 now
1.11
- test suite compares sorted results of find to fix false alarms on some systems
- test suite now uses tar instead of cp for copying.
- fix a y/n mixup
- at startup we check if Perl::Encode is not too broken (bugs 37757 and 49830
for now). Recent Perl releases are terribly broken. If this won't improve,
I'll have to rewrite convmv in a language with more stable core functionality
:-|. If you are distributor of convmv, please run make test before packaging
to make sure you don't ship convmv with a broken Perl release.
1.10
- now use from_to instead of utf8::decode (which is experimental
and might vanish in the future) to check for valid UTF-8
- updates and cleanups of testsuite and include "0" filename
- fix "0" filename bugs
- take into account that charset name "utf-8" resolves to "utf-8-strict"
in recent Perl versions
Pkgsrc changes:
- Used an absolute path for SUBST_FILES previously, which was wrong.
Changes since version 1.08:
====================================
1.09
- work around broken decode_utf8() in Perl 5.8.7 resp. Encode 2.10 (use
utf8::decode instead)
- adapt test suite to catch cases like this
- warn about dry test run at start, not just at end of a test run
Convmv is meant to help convert a single filename, a directory tree and
the contained files or a whole filesystem into a different encoding. It
just converts the filenames, not the content of the files. A special
feature of convmv is that it also converts the symlink target pointer in
case the symlink target is being converted, too.