v1.4.0 This release adds the ‘-b/--basename’ flag. This flag is very useful for ensuring that you only alter the basename of the given input paths; accidentally altering the parent paths is a common mistake. A quick example: $ mkdir -p foo/bar $ touch foo/bar/{a,b,c} $ ls foo/bar/* | mmv --basename --verbose tr a-z A-Z renamed ‘…/foo/bar/a’ -> ‘…/foo/bar/A’ renamed ‘…/foo/bar/b’ -> ‘…/foo/bar/B’ renamed ‘…/foo/bar/c’ -> ‘…/foo/bar/C’ -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAO0oTzjlp5SRPrvwmANIs0 8wbT+k5Nws1VEF2ya1BZEjXbsdP6zPTbBKsnGsNTcvfrSEGkosz0IOnqcizPqo9HyYDHPY cEC+iUiAjwc0xlNH7DssO7yVJA4F8dFecKvVl/45Yw5PR0fBYR5Kyxt0aobPd9og/iVaXg 8uWHW0SjAS7CSNZ9Ff5Nx2YaTBFh/AL9f9QP0L4Y2zQS/OoA8dLu05CO9t7AC1raKcjfIT Z9S+aA0PpfjlfABzUtAen84uM8tr+2q93Chl3mnHKOHKNzyapAHfTKDJO0x2IwZwAHoJUU Lm7Q1aM5Bsjgi6y4Ko/P48awT8BM2Q0vT1W0aRuYJMD1GaCpU+BmFtYKyC7q6MGaT7fExD sjqD7tPislv0N6TARmjDbZp56XJBPD7/Bu2G2pgRZ+WE6XwYb655ixLRhsQuv4/01FPyEg j5jD+g9iXjUGoSWkCJnBOFqruEKe5/6e6+mlUkHr9Lc7ZKJaql41kSiqWAOIBKp/RKvebE SQAAAANnaXQAAAAAAAAABnNoYTUxMgAAAZQAAAAMcnNhLXNoYTItNTEyAAABgHvFH88u+i GW5B6aEPSRoZjkn14cm51e0hc7MBVJqdRrf2yC/6bK7GMrtX1tlAId6M1+GWeSXHtsJkMw qwFCOV3VuQrxWye+GE9SrvS+YnwfV+a6Z5qXayCkLUTq1tu1Lwzsx/YR3l+v2/nUrM2pmJ kxPdwoDhSYx1jRTd//EyCC+KTaEkpcZRLsRpiF3EF29KTZHxXtxxwc4os7PMfuSFIcuLyQ TKByBsquxCxDupvdRYPbGEr8i19jce7E0jG+mwjHsHtmXiziv1TnyDImMU2LfJqZDpOYZ1 Noa5MiskuUIKONXP30WPVNxfag7+OHEUcBTlmbxvZ4TudCxmwh0Z6AIS88sD/tgKv8mkBn S7Ny6ULJuTVTSHtbdYik0Bs/frz9SgaTRI28RT5I/jPYUJvQgolpSmRpCGUB7j5sIG4W/Q pJnIkqin+TCwcCQJnq+oc1JiWVBm+xjeNuLnPJSYl0djDgCrHoaKKkN8PnvA4Gn6ll8Z+h iUhXoWzb7KOszQ== -----END SSH SIGNATURE-----
v1.3.1 This release fixes some formatting issues in the mmv(1)- and mcp(1) manual pages. Nothing major, but there were some visual issues in the manuals that have been fixed. -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAO0oTzjlp5SRPrvwmANIs0 8wbT+k5Nws1VEF2ya1BZEjXbsdP6zPTbBKsnGsNTcvfrSEGkosz0IOnqcizPqo9HyYDHPY cEC+iUiAjwc0xlNH7DssO7yVJA4F8dFecKvVl/45Yw5PR0fBYR5Kyxt0aobPd9og/iVaXg 8uWHW0SjAS7CSNZ9Ff5Nx2YaTBFh/AL9f9QP0L4Y2zQS/OoA8dLu05CO9t7AC1raKcjfIT Z9S+aA0PpfjlfABzUtAen84uM8tr+2q93Chl3mnHKOHKNzyapAHfTKDJO0x2IwZwAHoJUU Lm7Q1aM5Bsjgi6y4Ko/P48awT8BM2Q0vT1W0aRuYJMD1GaCpU+BmFtYKyC7q6MGaT7fExD sjqD7tPislv0N6TARmjDbZp56XJBPD7/Bu2G2pgRZ+WE6XwYb655ixLRhsQuv4/01FPyEg j5jD+g9iXjUGoSWkCJnBOFqruEKe5/6e6+mlUkHr9Lc7ZKJaql41kSiqWAOIBKp/RKvebE SQAAAANnaXQAAAAAAAAABnNoYTUxMgAAAZQAAAAMcnNhLXNoYTItNTEyAAABgOLNDH9VTH vFI80r5v/Fr9WYysVlpZFdiauPNgu5ZFnPaR9lVfN0IcCaajsdPqYTahTw+zRsgDndCOuw m2XoR1oXkL19SlSmO8SvsjUqeCNglFABK0OxK8jd4R2ytZI/hlTlpPnwT7AMy1NZNQaDiq u+6OMQ72OigFtc13E2+1uparihn/nf9W6bHPwfMXcYFuDAsJtST6wWwlUtOsRhONC/QmtW PXUbmClbXQyiaDgGJpYL+5DeSvQTw8CjbZJ2ONQt/kv547ZScS0X8Rh0UbVVPMY6FhlYA9 85M8dEXC8sKUbwX87pbHrEw5jbQCNIxTE/pBWSFvTM70USuaBEB18DrpRxogu2Cz4cj4WQ QLJayDJCME4MRyoPDsW0lb2tkPStGWa8J04EpPfQ12r+LbE13WBj1GhI7d46oQPLI5A8eO OjikRiF2RyFil6ZTPIwby9snQ0CRtSjKplGZGDACEDkJIVniPhaxSlWCewqKAOsZUDyB1O LTWp8pj0PuoK8g== -----END SSH SIGNATURE-----
v1.3.0 This release adds support for compiling with different binary names. This is all being done in the hopes of getting packaged on Void Linux. -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAO0oTzjlp5SRPrvwmANIs0 8wbT+k5Nws1VEF2ya1BZEjXbsdP6zPTbBKsnGsNTcvfrSEGkosz0IOnqcizPqo9HyYDHPY cEC+iUiAjwc0xlNH7DssO7yVJA4F8dFecKvVl/45Yw5PR0fBYR5Kyxt0aobPd9og/iVaXg 8uWHW0SjAS7CSNZ9Ff5Nx2YaTBFh/AL9f9QP0L4Y2zQS/OoA8dLu05CO9t7AC1raKcjfIT Z9S+aA0PpfjlfABzUtAen84uM8tr+2q93Chl3mnHKOHKNzyapAHfTKDJO0x2IwZwAHoJUU Lm7Q1aM5Bsjgi6y4Ko/P48awT8BM2Q0vT1W0aRuYJMD1GaCpU+BmFtYKyC7q6MGaT7fExD sjqD7tPislv0N6TARmjDbZp56XJBPD7/Bu2G2pgRZ+WE6XwYb655ixLRhsQuv4/01FPyEg j5jD+g9iXjUGoSWkCJnBOFqruEKe5/6e6+mlUkHr9Lc7ZKJaql41kSiqWAOIBKp/RKvebE SQAAAANnaXQAAAAAAAAABnNoYTUxMgAAAZQAAAAMcnNhLXNoYTItNTEyAAABgBSOqfcuht MU5HCtOVDJ6eR6Uw3LyGLwcaROIcLdPFxWopDvl5PryXpxyearyuMzUimH7XEQtigasuDl gLTkUxQrob+SoU+m2NVjFo6G77fFkIKEdLUv6ITJeuATk3VPBniWY/D7NA+7blu+cy24lr RQ0zaL5E+jWEwfdM4WyARgEuZRa0tUmZ8f/hjTg9UlxOdZHGogkEBp3R55fERJb1qSXhDf Xzncv1JA4ST3gMokpU5FFq8l8RljEFPYPPRGXoeWWY4CyC7B7NxejJWcITQTM00vHHL49Q fE4gWGjXz0bcH9oUfK1vdEnhm9IdbH+9IWoclOMQrLvy+XY3ieRBLHz9V3Gc/aDaI1wYP6 Y6fL2orIeBwGjJ7NMqkyhBBYJAVUAu6jtRYdqgR576K0PyaZIVcVYNqZYMYvsfYnTk/e5V ggqddGboZLqMQv65zOxHR6V6LlUCRyxVATCZm3qXVR0g3cS2Sf9sNEHqBT6Qc5M57bH1Xx Y3wMPcD1AqAARA== -----END SSH SIGNATURE-----
v1.2.0 This release adds the ‘mcp’ program. ‘mcp’ works identically to ‘mmv’ except it copies files instead of moving them. It also does not support the ‘-n’ flag. -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAO0oTzjlp5SRPrvwmANIs0 8wbT+k5Nws1VEF2ya1BZEjXbsdP6zPTbBKsnGsNTcvfrSEGkosz0IOnqcizPqo9HyYDHPY cEC+iUiAjwc0xlNH7DssO7yVJA4F8dFecKvVl/45Yw5PR0fBYR5Kyxt0aobPd9og/iVaXg 8uWHW0SjAS7CSNZ9Ff5Nx2YaTBFh/AL9f9QP0L4Y2zQS/OoA8dLu05CO9t7AC1raKcjfIT Z9S+aA0PpfjlfABzUtAen84uM8tr+2q93Chl3mnHKOHKNzyapAHfTKDJO0x2IwZwAHoJUU Lm7Q1aM5Bsjgi6y4Ko/P48awT8BM2Q0vT1W0aRuYJMD1GaCpU+BmFtYKyC7q6MGaT7fExD sjqD7tPislv0N6TARmjDbZp56XJBPD7/Bu2G2pgRZ+WE6XwYb655ixLRhsQuv4/01FPyEg j5jD+g9iXjUGoSWkCJnBOFqruEKe5/6e6+mlUkHr9Lc7ZKJaql41kSiqWAOIBKp/RKvebE SQAAAANnaXQAAAAAAAAABnNoYTUxMgAAAZQAAAAMcnNhLXNoYTItNTEyAAABgI2oLSKKmb 0FfY0xT/KuiZTQdA0+/uoI1WnT6TVRZGTnMdFwOEgs2TZKbbGweP6FoZlAY9i7akdMW/Ch NVF++/r7fvnq735yMyr1jBxTYm3pjODXZz/zBI+asogyXldCh4Oe0mb/i+7yg6as8wwms6 xFyohXEIVAELKg+m1gvk6DSr05D44Jj+LoYdxXxw+laJaM08KXnmIC99SDkm33GTt3CKhg VcVwXeBv3ucny+9YTI/Ra5jUvcX+YC/O/FiZY1oioc5u3Y5U6V8jz4PkCOSB7QxGHg4b8m lGg7hdGKc1KFxUZGT2Uy/8VThR6Ez1gcnN1DgcaN8Zjes+LHGHk3LlsiDXQRxs28E+Fm4o 4/uzYNp3Pqvr5MMiTf/9NFuWycyLjXgThxfIhvxs+3poajdAXJ5f5PNavmh9mL5KXFPGQ2 G4NY8N6FlwyI9LNmlgxuwNgq8n8hCS9JGadozUcycdOaRCJvEFdEYJbRqdi2k9x5aka9p2 DmS5Qt9PR7UV3w== -----END SSH SIGNATURE-----
v1.1.0 The changes since v1.0.1 are as follows: - Minor documentation typo fixes - Name backup directories with timestamps, not PIDs -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAO0oTzjlp5SRPrvwmANIs0 8wbT+k5Nws1VEF2ya1BZEjXbsdP6zPTbBKsnGsNTcvfrSEGkosz0IOnqcizPqo9HyYDHPY cEC+iUiAjwc0xlNH7DssO7yVJA4F8dFecKvVl/45Yw5PR0fBYR5Kyxt0aobPd9og/iVaXg 8uWHW0SjAS7CSNZ9Ff5Nx2YaTBFh/AL9f9QP0L4Y2zQS/OoA8dLu05CO9t7AC1raKcjfIT Z9S+aA0PpfjlfABzUtAen84uM8tr+2q93Chl3mnHKOHKNzyapAHfTKDJO0x2IwZwAHoJUU Lm7Q1aM5Bsjgi6y4Ko/P48awT8BM2Q0vT1W0aRuYJMD1GaCpU+BmFtYKyC7q6MGaT7fExD sjqD7tPislv0N6TARmjDbZp56XJBPD7/Bu2G2pgRZ+WE6XwYb655ixLRhsQuv4/01FPyEg j5jD+g9iXjUGoSWkCJnBOFqruEKe5/6e6+mlUkHr9Lc7ZKJaql41kSiqWAOIBKp/RKvebE SQAAAANnaXQAAAAAAAAABnNoYTUxMgAAAZQAAAAMcnNhLXNoYTItNTEyAAABgJ4bhWDwel LJAlGPIP7NMBMXoDyqqT9q0syqNZxzMszCv+S4a9UgTI8nFgPROMJVJuAT34lAhraDTkbJ Nd1aZE+v6geccFU1sB6X1BItRdDJpORDab3cIbvw+bYgAiMQrbG5gfuaocBARTXUwMfE/a frAr2mylk8EloJl4d8XKuXp5/URhsevxH3EpCgw+v40yo+VT8vDghlhHTx3n7Ptv5nu0ba ZvELEbZoqIzib9vTh1R3csvHpQry4j9vTN/CVqH5NHZt77f4uLGRTPo142+7ApEWEmSHUT 9FFIrB2cVz0Z3hSZQwzQGM/jt7rH5elYKPd9pqEPhUg/5wqRB2rHG8nsTvHedw2lgmwl57 voylNfo7f7t8okxSf+07o6JO8RJq8HFKbvP8UOMb0zQpkEBiuUJVOx6JCWCvmKadKudfmG 8uNxyD9DKK5Y9IlTN7JbUDuEejrLktQK4py5lBbu85dXse+a1WdUS3ooAc8icCFIQyvsYC 6cOqOEHC3IMdPg== -----END SSH SIGNATURE-----
v1.0.1 The changes since v1.0.0 are as follows: - When using the ‘-i’ flag, the input to the spawned process is no longer terminated by ‘\n’ (or ‘\0’ in the case of ‘-0’). Any trailing newlines or nul-bytes are also no longer stripped. -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAO0oTzjlp5SRPrvwmANIs0 8wbT+k5Nws1VEF2ya1BZEjXbsdP6zPTbBKsnGsNTcvfrSEGkosz0IOnqcizPqo9HyYDHPY cEC+iUiAjwc0xlNH7DssO7yVJA4F8dFecKvVl/45Yw5PR0fBYR5Kyxt0aobPd9og/iVaXg 8uWHW0SjAS7CSNZ9Ff5Nx2YaTBFh/AL9f9QP0L4Y2zQS/OoA8dLu05CO9t7AC1raKcjfIT Z9S+aA0PpfjlfABzUtAen84uM8tr+2q93Chl3mnHKOHKNzyapAHfTKDJO0x2IwZwAHoJUU Lm7Q1aM5Bsjgi6y4Ko/P48awT8BM2Q0vT1W0aRuYJMD1GaCpU+BmFtYKyC7q6MGaT7fExD sjqD7tPislv0N6TARmjDbZp56XJBPD7/Bu2G2pgRZ+WE6XwYb655ixLRhsQuv4/01FPyEg j5jD+g9iXjUGoSWkCJnBOFqruEKe5/6e6+mlUkHr9Lc7ZKJaql41kSiqWAOIBKp/RKvebE SQAAAANnaXQAAAAAAAAABnNoYTUxMgAAAZQAAAAMcnNhLXNoYTItNTEyAAABgAm5FJNzoT eJ1/HddcvUzCN8tB4lgKESySUbQKVWn25zemwZFr4Hs9c06IwGdIYPdmKP3uW2eEQC6iaJ xbG44Bc2fcOaQ3JDMDALdb6KPfG9L0gJ5LRn198luAP/5M21x3E06wI2UzbIT5R8wF2S4+ Rst45AjWSWMMl/qNN6rSp6vE1xdxOs81Un62lehzYjrau3LaBTI6w++sxGxOfkpIuZmAq9 obF54yJwPwotJ6m5KP/gaByBn/Ud7zNVBmhsK+dMkzL/InpLZnnzQVSEBrkSLT1vAsOCGI 9YSzcvmHftq5VKUwV7sy7oj/4hbV53Z91Ke7urB9UyRDBhoZUVrPltpX0zFtGxIyDqIa9D sO0HkxuPTP5yX7l/kLhy9sG7vWNG/IvCC9nWdfYx4qaOG3UWPMX4t85U5HACK89qaNojk5 BW2vSP8s0w/phDKAjS6wJe09BTxlK7b03u0GU7/GDxGahmR1kZA5hpsqcAugxOuxdtLMds WiKqoStPTHO5ew== -----END SSH SIGNATURE-----
v1.0.0 This is the initial release of mmv. As of this release, the following features are supported: - Installation via a Makefile - Documentation via a manual page - Mapped file moves - Backing up of data prior to any potentially-destructive actions by default, which can be turned off via ‘--no-backup’ - Correct handling of filenames with embedded newlines via ‘--nul’, ‘--encode’, and ‘--individual’. - Testing your changes before executing them via ‘--dry-run‘. - Getting verbose program output via ‘--verbose’. - Pissing off suckless [1] developers by using rust. [1]: https://suckless.org/ -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAO0oTzjlp5SRPrvwmANIs0 8wbT+k5Nws1VEF2ya1BZEjXbsdP6zPTbBKsnGsNTcvfrSEGkosz0IOnqcizPqo9HyYDHPY cEC+iUiAjwc0xlNH7DssO7yVJA4F8dFecKvVl/45Yw5PR0fBYR5Kyxt0aobPd9og/iVaXg 8uWHW0SjAS7CSNZ9Ff5Nx2YaTBFh/AL9f9QP0L4Y2zQS/OoA8dLu05CO9t7AC1raKcjfIT Z9S+aA0PpfjlfABzUtAen84uM8tr+2q93Chl3mnHKOHKNzyapAHfTKDJO0x2IwZwAHoJUU Lm7Q1aM5Bsjgi6y4Ko/P48awT8BM2Q0vT1W0aRuYJMD1GaCpU+BmFtYKyC7q6MGaT7fExD sjqD7tPislv0N6TARmjDbZp56XJBPD7/Bu2G2pgRZ+WE6XwYb655ixLRhsQuv4/01FPyEg j5jD+g9iXjUGoSWkCJnBOFqruEKe5/6e6+mlUkHr9Lc7ZKJaql41kSiqWAOIBKp/RKvebE SQAAAANnaXQAAAAAAAAABnNoYTUxMgAAAZQAAAAMcnNhLXNoYTItNTEyAAABgEbeU2seqA U5ZcYibSBarL+aMvUT87grMi4mp3zTXMxMZvn7WypiN++dsOyKnW9XUfTEtJy746mj+EyJ xWC1sEO9cL8jxZqv7GepTEAQ3/E9GMSHDwnCsoH8WbmuEHfAmuBMZ90QLb1A/48Lu47aVA 2ZWIsM5Gev7e63Dug6c0fgOaR7HTfUi9MhB7B5wchTRVbDb5VGYOpA6WTeDQ5MzcsXHcJG dx1UeIrHL7qc9EyaMsNZMgLWzz7BMPoYvryf0JPOl5Zt+ena1o1OVBVVAfVdgDLsYrw9y1 YA9TMQo0s95lpePIMrqhBRGIu06tknxy0doJv8wyoLOzZawTPKIrtJPtso3YOzDQTlArzA NVgkaPUT1qgBuTk2Y0YFyiqJ7HoSGN7UZfeouERXt45h2tuqnFnBbaaoe8U3K8mQR12q8w WrCtzRlfjrg6LjwRy2E6fi81FQTl/e2XsyNgIZpbGnpbIfRVsf2nxG28kmOa97b11lkW4q cvzi5Gg913FXsA== -----END SSH SIGNATURE-----