2
0
mirror of https://github.com/meganz/MEGAcmd synced 2025-08-22 01:47:24 +00:00

Merge branch 'release/v2.1.1' into 'master'

CMD-639. Release/v2.1.1 [to master]

See merge request apps/MEGAcmd!904
This commit is contained in:
Pablo M 2025-04-04 05:38:52 +13:00
commit 1d52c9cb5d
19 changed files with 102 additions and 97 deletions

View File

@ -11,6 +11,7 @@ body:
label: "MEGAcmd version"
description: "Which version of MEGAcmd did you encountered this issue? (Can be looked up using the `version` command)"
options:
- 2.1.1
- 2.1.0
- 2.0.0
- 1.7.0

View File

@ -11,7 +11,7 @@ execute_process(
set(MEGACMD_MAJOR_VERSION 2)
set(MEGACMD_MINOR_VERSION 1)
set(MEGACMD_MICRO_VERSION 0)
set(MEGACMD_MICRO_VERSION 1)
## Configure megacmdversion.h
configure_file("${CMAKE_CURRENT_LIST_DIR}/src/megacmdversion.h.in" "${CMAKE_CURRENT_LIST_DIR}/src/megacmdversion.h" @ONLY)

View File

@ -1,6 +1,6 @@
# MEGAcmd User Guide
This document relates to MEGAcmd version 2.1.0. It contains introductory information and the [Command Summary](#command-summary), with links to detailed command descriptions.
This document relates to MEGAcmd version 2.1.1. It contains introductory information and the [Command Summary](#command-summary), with links to detailed command descriptions.
### What is it
A command line tool to work with your MEGA account and files. The intent is to offer all the MEGA account functionality via command line. You can run it in [interactive](#interactive) mode where it processes all commands directly, or you can run its [scriptable](#scriptable) commands from your favourite Linux or Mac shell such as bash, or you can even run its commands in a Windows command prompt. And of course you can write scripts using those scriptable commands.
@ -224,7 +224,7 @@ Verbosity: You can increase the amount of information given by any command by pa
* [`sync`](contrib/docs/commands/sync.md)`[localpath dstremotepath| [-dpe] [ID|localpath]` Controls synchronizations.
* [`sync-issues`](contrib/docs/commands/sync-issues.md)`[[--detail (ID|--all)] [--limit=rowcount] [--disable-path-collapse]] | [--enable-warning|--disable-warning]` Show all issues with current syncs
* [`sync-ignore`](contrib/docs/commands/sync-ignore.md)`[--show|[--add|--add-exclusion|--remove|--remove-exclusion] filter1 filter2 ...] (ID|localpath|DEFAULT)` Manages ignore filters for syncs
* [`sync-config`](contrib/docs/commands/sync-config.md)`[--delayed-uploads-wait-seconds=waitsecs | --delayed-uploads-max-attempts=attempts]` Shows and modifies global sync configuration.
* [`sync-config`](contrib/docs/commands/sync-config.md)`[--delayed-uploads-wait-seconds | --delayed-uploads-max-attempts]` Controls sync configuration.
* [`exclude`](contrib/docs/commands/exclude.md)`[(-a|-d) pattern1 pattern2 pattern3]` Manages default exclusion rules in syncs.
* [`backup`](contrib/docs/commands/backup.md)`(localpath remotepath --period="PERIODSTRING" --num-backups=N | [-lhda] [TAG|localpath] [--period="PERIODSTRING"] [--num-backups=N]) [--time-format=FORMAT]` Controls backups

View File

@ -3,7 +3,7 @@
source /mega/pkgscripts/include/pkg_util.sh
package="megacmdpkg"
version="2.1.0-0001"
version="2.1.1-0001"
displayname="MEGAcmd"
maintainer="Mega NZ"
arch="$PLATFORM"

View File

@ -1,14 +1,14 @@
megacmd (2.1.0) stable; urgency=low
megacmd (2.1.1) stable; urgency=low
* FUSE (beta): Added fuse commands on Linux to allow your MEGA folders to be directly mounted to your local drive
* Delayed sync uploads: Introduced a mechanism to delay very frequent sync uploads, and the sync-config command
* Delayed sync uploads: Introduced a mechanism to delay to frequently changed sync uploads, and the sync-config command
* Logging: Messages are now printed in standard error, the rotating logger is now configurable and more verbose by default, passwords are now redacted from the logs, and other fixes and refinements
* Fixed a crash when auto-completing a local folder that doesn't exist
* Fixed the confirmcancel command incorrectly reporting failure on success
* Extended speedlimit command to allow increasing max connections
* Other fixes and improvements to enhance reliability and performance
-- MEGA Team <linux@mega.co.nz> Wed, 19 Mar 2025 12:22:45 +0100
-- MEGA Team <linux@mega.co.nz> Wed, 02 Apr 2025 11:08:20 +0200
megacmd (2.0.0) stable; urgency=low

View File

@ -28,7 +28,7 @@ build-stamp:
mkdir -p $(VCPKG_DEFAULT_BINARY_CACHE); \
fi
if [ -f /opt/cmake.tar.gz ]; then echo "8dc99be7ba94ad6e14256b049e396b40 /opt/cmake.tar.gz" | md5sum -c -; fi
if [ -f /opt/cmake.tar.gz ]; then echo "20bc14b37c4d51d4f7d143646c8fadc0 /opt/cmake.tar.gz" | md5sum -c -; fi
if [ -f /opt/cmake.tar.gz ]; then \
tar xzf /opt/cmake.tar.gz; \
ln -s cmake-*-Linux* cmake_inst; \

View File

@ -1,10 +1,11 @@
Wed Mar 19 12:22:58 PM CET 2025 - linux@mega.co.nz
- Update to version 2.1.0:
Wed Apr 2 11:08:20 CEST 2025 - linux@mega.co.nz
- Update to version 2.1.1:
* FUSE (beta): Added fuse commands on Linux to allow your MEGA folders to be directly mounted to your local drive
* Delayed sync uploads: Introduced a mechanism to delay very frequent sync uploads, and the sync-config command
* Delayed sync uploads: Introduced a mechanism to delay to frequently changed sync uploads, and the sync-config command
* Logging: Messages are now printed in standard error, the rotating logger is now configurable and more verbose by default, passwords are now redacted from the logs, and other fixes and refinements
* Fixed a crash when auto-completing a local folder that doesn't exist
* Fixed the confirmcancel command incorrectly reporting failure on success
* Extended speedlimit command to allow increasing max connections
* Other fixes and improvements to enhance reliability and performance
-------------------------------------------------------------------

View File

@ -49,6 +49,13 @@ prepare() {
if [ -f /opt/vcpkg.tar.gz ]; then
tar xzf /opt/vcpkg.tar.gz
fi
if [ -f /opt/cmake.tar.gz ]; then
echo "8514fe0197f534eef079097c774c221a /opt/cmake.tar.gz" | md5sum -c - || exit 1
rm -rf cmake_inst cmake-*-linux*
tar xzf /opt/cmake.tar.gz
ln -s cmake-*-linux* cmake_inst
fi
}
build() {
@ -64,6 +71,10 @@ build() {
vcpkg_root="-DVCPKG_ROOT=${megasrcdir}/vcpkg"
fi
if [ -f /opt/cmake.tar.gz ]; then
export PATH="${PWD}/cmake_inst/bin:$PATH"
fi
cmake --version
cmake ${vcpkg_root} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -S "${megasrcdir}" -B "${megabuilddir}"
cmake --build "${megabuilddir}" ${BUILD_PARALLEL_JOBS}
@ -81,5 +92,9 @@ package() {
megasrcdir="${srcdir}/${pkgname}-${pkgver}"
megabuilddir="${megasrcdir}/build_dir"
if [ -f /opt/cmake.tar.gz ]; then
export PATH="${PWD}/cmake_inst/bin:$PATH"
fi
cmake --install "${megabuilddir}" --prefix $pkgdir
}

View File

@ -1 +1 @@
2.1.0
2.1.1

View File

@ -1,14 +1,13 @@
### sync-config
Shows and modifies global sync configuration.
Controls sync configuration.
Usage: `sync-config [--delayed-uploads-wait-seconds=waitsecs | --delayed-uploads-max-attempts=attempts]`
Usage: `sync-config [--delayed-uploads-wait-seconds | --delayed-uploads-max-attempts]`
<pre>
Displays current configuration if no options are provided. Configuration values are persisted across restarts.
Displays current configuration.
New uploads for files that change frequently in syncs will be delayed until a wait time passes.
New uploads for files that change frequently in syncs may be delayed until a wait time passes to avoid wastes of computational resources.
Delay times and number of changes may change overtime
Options:
--delayed-uploads-wait-seconds Sets the seconds to be waited before a file that's being delayed is uploaded again. Default is 30 minutes (1800 seconds).
Note: wait seconds must be between 60 and 86399 (inclusive).
--delayed-uploads-max-attempts Sets the max number of times a file can change in quick succession before it starts to get delayed. Default is 2.
Note: max attempts must be between 2 and 5 (inclusive).
--delayed-uploads-wait-seconds Shows the seconds to be waited before a file that's being delayed is uploaded again.
--delayed-uploads-max-attempts Shows the max number of times a file can change in quick succession before it starts to get delayed.
</pre>

View File

@ -7,7 +7,7 @@ If no argument is provided, it lists current configured synchronizations.
If local and remote paths are provided, it will start synchronizing a local folder into a remote folder.
If an ID/local path is provided, it will list such synchronization unless an option is specified.
Note: use the "sync-config" command to show and modify global sync configuration.
Note: use the "sync-config" command to show global sync configuration.
Options:
-d | --delete ID|localpath deletes a synchronization (not the files).

View File

@ -1,19 +1,19 @@
#version=2010000
#version=2010100
#baseurl=http://g.static.mega.co.nz/upd/mcmd/MEGAcmd.app/
#Hash: note this is the hash of the public key assuming an "\n" at the end
#pubkeysha256sum=1d3a6360832e193cb98707692c3816b5022ec976e2915cee60994ba20e292b4a
Contents/Frameworks/libavcodec.59.37.100.dylib;Contents/Frameworks/libavcodec.59.37.100.dylib;ef8dddefa5a37b49fb08fad4faecf988066c8118e27f5f471e0eb8bb260ede17
Contents/Frameworks/libavformat.59.27.100.dylib;Contents/Frameworks/libavformat.59.27.100.dylib;7b30b10a766206159fab664d902258da65d906a4309ba1a411d8249e38f43cae
Contents/Frameworks/libavutil.57.28.100.dylib;Contents/Frameworks/libavutil.57.28.100.dylib;de39c990688985c1c515aa90470884993c3f57ad89bc7384cc5a8a6aaa7c4852
Contents/Frameworks/libswresample.4.7.100.dylib;Contents/Frameworks/libswresample.4.7.100.dylib;193bead4c2de26516e54ce9367d87cdc032809bb91c678959cd1c7b26f6e6aa1
Contents/Frameworks/libswscale.6.7.100.dylib;Contents/Frameworks/libswscale.6.7.100.dylib;f25d00d984a56bc54f06bf479f80ddc7752be8a2b7ca1fde14860e14288c9d67
Contents/Info.plist;Contents/Info.plist;7dfe19beca6e8ab9c5acffafde525c45bd3aa05723d0d8dc21cb24a8a93b5a97
Contents/Frameworks/libavcodec.59.37.100.dylib;Contents/Frameworks/libavcodec.59.37.100.dylib;ae0f312761da099fcb3e9466cfb0ff08aef84cff842ba538427cb695d12b7193
Contents/Frameworks/libavformat.59.27.100.dylib;Contents/Frameworks/libavformat.59.27.100.dylib;359fc82565a2b086ccf99e0f1e9ae84f999d15290f918d27a0727efddfa13f62
Contents/Frameworks/libavutil.57.28.100.dylib;Contents/Frameworks/libavutil.57.28.100.dylib;069f229132674c24db8f6ae53b0b9b8071c3f606544cd19fa3079946ca0f1eeb
Contents/Frameworks/libswresample.4.7.100.dylib;Contents/Frameworks/libswresample.4.7.100.dylib;bdfcf6ed447db1ee412612f91e3cc1570967952b3aff757f6abc64a38ca0b551
Contents/Frameworks/libswscale.6.7.100.dylib;Contents/Frameworks/libswscale.6.7.100.dylib;ea293c528c9e640f21331eafee24e4246dafda5199cd4a0c5964d62d53fb506d
Contents/Info.plist;Contents/Info.plist;2151165255ac66c72553ecef305e4bfe26c23630f39fa65f715cfa5823ae7dd3
Contents/MacOS/mega-attr;Contents/MacOS/mega-attr;a1f60255288b7f01eb9c43b1de59eeac50ad370c0853ee352a3aeefe13472b6c
Contents/MacOS/mega-backup;Contents/MacOS/mega-backup;ef37df5a4d97a7729cb9414ce5c0639f2d9b0fd9d9ee138f7655af2580b33682
Contents/MacOS/mega-cancel;Contents/MacOS/mega-cancel;343ab60a070927d55e83372c756213594d39cfc0d5b2e21a1f43c9c582098ef3
Contents/MacOS/mega-cat;Contents/MacOS/mega-cat;cc6dc3c50adec44d7aa6436845603d9eb4e7688458632fd0bef4aa4c7d9e30af
Contents/MacOS/mega-cd;Contents/MacOS/mega-cd;09af358bfb59012385bcf540045e017ec4aadfd5ab7a06f6bdaef4a6d5828c09
Contents/MacOS/mega-cmd;Contents/MacOS/mega-cmd;a412592d5aa6bac70f67b3411788074d2c20f5748098400aac10412c83508951
Contents/MacOS/mega-cmd;Contents/MacOS/mega-cmd;c35f6591d2e1d3d0894f3f7b437e3d1c7e24c47ceace52bdf998a55407031420
Contents/MacOS/mega-confirm;Contents/MacOS/mega-confirm;62373fc155c0a2a2f1b67355a2570c4f812042f67272fc12afafabf60ed08318
Contents/MacOS/mega-confirmcancel;Contents/MacOS/mega-confirmcancel;d81b018029c263ebe52fb6367ceafea3e0961416cb54dfbdf79a68416ef1ed9d
Contents/MacOS/mega-cp;Contents/MacOS/mega-cp;7f999e5e030c3636f8e5cdbf44050c51bf6a0c05bdbbb85394616384690a925c
@ -23,7 +23,7 @@ Contents/MacOS/mega-df;Contents/MacOS/mega-df;1c106981101143063c8b76f08c0df8e21b
Contents/MacOS/mega-du;Contents/MacOS/mega-du;af7e98fdb28e70fbaf69fffdca4762956a4b00a086dd8c50f3de78e2bad7b457
Contents/MacOS/mega-errorcode;Contents/MacOS/mega-errorcode;bdebcaefaa073d12707a6b9a0b3141754eb1637fa6a48c800a9bdbf5dd7511f8
Contents/MacOS/mega-exclude;Contents/MacOS/mega-exclude;86c94893e7c380c29f9e36f624d6598ed836851ab95d491e74064a35d0d54aac
Contents/MacOS/mega-exec;Contents/MacOS/mega-exec;f435e7083975abdcbb0cf4f1c26f9370f19cbfbeec06cc677d2b716025c132fa
Contents/MacOS/mega-exec;Contents/MacOS/mega-exec;ec1d0c61565e4c65223b992a9c87de5cd502eeb169917952fde69f4b13c8f2aa
Contents/MacOS/mega-export;Contents/MacOS/mega-export;280e5ec5ed2339fee7c82716ff15cff86814fc1b89d34ddc7adacc4f10f2d3f4
Contents/MacOS/mega-find;Contents/MacOS/mega-find;497b25404e2390e6415726b21a76d36f0e91a11929fb7487ab23fd77acce58a8
Contents/MacOS/mega-ftp;Contents/MacOS/mega-ftp;55cfb9f97e6c8814a2e59f139fad1390bb9b0bcf7699b68f4ffc642e4f858393
@ -72,12 +72,12 @@ Contents/MacOS/mega-version;Contents/MacOS/mega-version;3c69fb0a46cdd9ffcc2a5560
Contents/MacOS/mega-webdav;Contents/MacOS/mega-webdav;bcf797f1ca84d18d320457221e944c2f565797c2131bfeab895565ef643f79cc
Contents/MacOS/mega-whoami;Contents/MacOS/mega-whoami;ba6144c61e81af13e2e797b6d1e600cfb00de0b47b02fd639373fbef4087730b
Contents/MacOS/MEGAcmd;Contents/MacOS/MEGAcmd;427fda9b9d57298e7012081cd00d0efc823596403616e94602e86e5c8fac478d
Contents/MacOS/MEGAcmdShell;Contents/MacOS/MEGAcmdShell;b0c84324b24f51d560c6cd76fa82202abf34e38a2442fe7d6cfa499388284f5a
Contents/MacOS/MEGAcmdUpdater;Contents/MacOS/MEGAcmdUpdater;85c4c3b5fbca19f7df0c3d169050c5893da5a727911dd20834d23a7ffc44c24c
Contents/MacOS/MEGAcmdShell;Contents/MacOS/MEGAcmdShell;a692884e873443b673891507a5cfbb99d4e806fd6ca6cd6a09e144ec56677813
Contents/MacOS/MEGAcmdUpdater;Contents/MacOS/MEGAcmdUpdater;83be39757c929c98cd2e5b96dba94ee2e4d48639022325bcbcacc8ed78258101
Contents/MacOS/megacmd_completion.sh;Contents/MacOS/megacmd_completion.sh;35f87a3a37e303cf2e4c15f7fcc30a7ec3703c59a060c0a80a273be58fec744b
Contents/Resources/app.icns;Contents/Resources/app.icns;57d343b7b03e81c2eb8f5bd71002427160650572e4d9c01a94295b316f8330dd
Contents/_CodeSignature/CodeDirectory;Contents/_CodeSignature/CodeDirectory;75f145c03c96a1fd941a5fd5c106fdbc80d19bd985f5d9f06b1df9f4d6da9eb7
Contents/_CodeSignature/CodeRequirements-1;Contents/_CodeSignature/CodeRequirements-1;c0059cad4d48886402ff08334f373d2ccc05a94e97f1beb77bb69bb7819652e6
Contents/_CodeSignature/CodeDirectory;Contents/_CodeSignature/CodeDirectory;1a1f1b3decb9318adf7a2efb3006270bf66cbd4374669c6ce98099a7d13c5005
Contents/_CodeSignature/CodeRequirements-1;Contents/_CodeSignature/CodeRequirements-1;dcaa46e21087cf29b8baf0bb824d9c3b62bf3d108885b1ddf89187ee7dc4d84c
Contents/_CodeSignature/CodeRequirements;Contents/_CodeSignature/CodeRequirements;badc6c4e7f899b7b1acead903f9e02ab8a1fdcce7bde4d85cb385fe778f647b7
Contents/_CodeSignature/CodeResources;Contents/_CodeSignature/CodeResources;d472838f4d858dc191097c6257f848328de79b3cc81b72e2e60cc39e9bce2fe9
Contents/_CodeSignature/CodeSignature;Contents/_CodeSignature/CodeSignature;96df34bd291c19b1f9ae81cb71662a6cad9e4e58bb6afb4303b74afc160be04d
Contents/_CodeSignature/CodeResources;Contents/_CodeSignature/CodeResources;0102cf80325bc90c344f2ae0f92cf9acb20aeceeb22022ee1d97b202efd1e56c
Contents/_CodeSignature/CodeSignature;Contents/_CodeSignature/CodeSignature;47883c1aa6c007e7c9d39886c396732c6dd2f674d4e2fac2e99aa362105295bb

View File

@ -1,4 +1,4 @@
#version=2010000
#version=2010100
#baseurl=http://g.static.mega.co.nz/upd/wcmd/
#Hash: note this is the hash of the public key assuming an "\n" at the end
#pubkeysha256sum=1d3a6360832e193cb98707692c3816b5022ec976e2915cee60994ba20e292b4a
@ -42,9 +42,9 @@ api-ms-win-crt-stdio-l1-1-0.dll;api-ms-win-crt-stdio-l1-1-0.dll;1a01f3af5a35594b
api-ms-win-crt-string-l1-1-0.dll;api-ms-win-crt-string-l1-1-0.dll;7edf261a399f10359bd833766bf0ae2254e86dc86305da28e69be8b731c78c48
api-ms-win-crt-time-l1-1-0.dll;api-ms-win-crt-time-l1-1-0.dll;10bb36bb6f91219371fd5f93c5155aca4c65a0c665f8318a4b6c84763fc66430
api-ms-win-crt-utility-l1-1-0.dll;api-ms-win-crt-utility-l1-1-0.dll;f07d088f2a5eea9413bc3aafbcaab9ae73ea8a1691026d5ee898a34c939d52a3
avcodec-59.dll;avcodec-59.dll;44b279babd44f756120fe545cb64ae67e944ba7b69d4cfe0685045fc338281f2
avformat-59.dll;avformat-59.dll;800a8146da640c168929b05a274a4de0b2abe3bd3cc135adb307eb66e1d2f5ed
avutil-57.dll;avutil-57.dll;90d98d076c27020e10245db6f77f48de14aed9c26d16130ae2c2c7ecf2f46e3c
avcodec-59.dll;avcodec-59.dll;f8a77ede8c3da1cefe7ccc934b8cd79256503f757b2b8627c050ded01e82591b
avformat-59.dll;avformat-59.dll;d1ebb8fe419cb3d335949940d80173fbdc3b4a61b837edf45726b877c34d80ab
avutil-57.dll;avutil-57.dll;ef9c393e37b6703e0a8482094cc7fdb993bcc24bb5d7e3bbb36861001b6396ae
concrt140.dll;concrt140.dll;0604ee7df2abb2272e2d6fc3615bbfc7c1e385bc9f7f3a3efb780570499055df
MEGA Website.url;MEGA Website.url;7b5f1278de755dde65017404b662b6ab97fa7328974eec3872ce571f7e462dac
mega-attr.bat;mega-attr.bat;7a5b5b221bc921a5eb98633f519b2141bd0daede6eae40cba113333992967de7
@ -104,19 +104,19 @@ mega-users.bat;mega-users.bat;6f4499de547c0d5c5bcba21d5c226bb83a6f01909d9fc4cd1c
mega-version.bat;mega-version.bat;2f1794963704f4dc65e23155ef1fb27788ea48e6099479c4809093f7281c28fc
mega-webdav.bat;mega-webdav.bat;97c8f94a273c7d7d9e5b6b1929a8e227c3a15d6c09c8124f12d7fe3723a7beae
mega-whoami.bat;mega-whoami.bat;48f9d5104bb5364f6831b11d9847871c528ad656655c3fa49ce9be70e932767f
MEGAclient.exe;MEGAclient.exe;5f3e65a43dab5fea4464ba8cd1b52e057de4f225613cb791980615eb317d8407
MEGAcmdServer.exe;MEGAcmdServer.exe;310ae44e8af44222d324a8bd725044f1238407a642a00e9d872ca93efa4b3753
MEGAcmdShell.exe;MEGAcmdShell.exe;c0976a16dbdec5c971a2d91a4251fbb770a2efa4b484e1d7358836187ef2151d
MEGAcmdUpdater.exe;MEGAcmdUpdater.exe;ef42436bbfcc60584a9b49857a1e4612884f33e3b6342ff55c04e94e8c8665b1
MEGAclient.exe;MEGAclient.exe;92705b4d65187303fd5c9ef79605b05feb93881b23ec1feae22f2fcc25f88c5c
MEGAcmdServer.exe;MEGAcmdServer.exe;a9847dda1b77ebd95c89a7df2f94f217dcf369ef8b438f23379fe477f6a1600f
MEGAcmdShell.exe;MEGAcmdShell.exe;7c8dfe6f2288d53bc915acc17ea3b8c00d1f8bc64e9f775878ae113cfe21bd64
MEGAcmdUpdater.exe;MEGAcmdUpdater.exe;830c0294275b3d313cd511bc10cd1408c700fe8dd940b4d97c8697c474bf1eb3
msvcp140.dll;msvcp140.dll;718812adb0d669eea9606432202371e358c7de6cdeafeddad222c36ae0d3f263
msvcp140_1.dll;msvcp140_1.dll;1ed68ad44005f5db536d720c0dec06e3b096a9887f3412ca99277d520185aeb5
msvcp140_2.dll;msvcp140_2.dll;505cbb87d025355e09eb25686e4b0f617f659af993f9699ad1846ddffc120212
msvcp140_atomic_wait.dll;msvcp140_atomic_wait.dll;f4bc71d60fc5d28a6f6eff967428055f2cdd0189e5cb8d336842baa7a13de2bf
msvcp140_codecvt_ids.dll;msvcp140_codecvt_ids.dll;4a5e991f66087466dc7105b5d67ecdf8c87a9cde085909036abebdf792fa191b
swresample-4.dll;swresample-4.dll;c070b0b186748f6c4488f63496c5ea797209f286843ac510c6c45de91f50e4e1
swscale-6.dll;swscale-6.dll;4f26556e904a8c325024cf889d56dbf1f6273bf79324e87296efaf555ffd72e4
swresample-4.dll;swresample-4.dll;2b70d6e6a980ccfa324a7a840a72f6e1c9524e5bf0a1756c5f3d064e87d39ef4
swscale-6.dll;swscale-6.dll;bf3eb9bb39d3f5600e2712b1f23db3f45bf85ed75d216f18763a11f312ba7df7
ucrtbase.dll;ucrtbase.dll;9793b5f7890034ea345726fc9df07b79f518e1aebef2ab8b3d409f67465cefa9
uninst.exe;uninst.exe;83453ec0117feeb139a41fd46b6d8dfaaa2757e53ecfbb3f92d6f41ac726df1b
uninst.exe;uninst.exe;fc6a0b0407fbb703bb0e7c0917b697e8e7621e52b70a1dc7469edf57e7010eec
vccorlib140.dll;vccorlib140.dll;cf8d3df3c5374afce1094666b34665dca65743be7cb2e6199131037a344c3d02
vcomp140.dll;vcomp140.dll;c698b3eae090f07231560edbcb5fc3ae5aa6d30dbc3b3d75a7943e924b6b9158
vcruntime140.dll;vcruntime140.dll;09d1e604e8cdd06176fcc3d3698861be20638a4391f9f2d9e23f868c1576ca94

View File

@ -1,4 +1,4 @@
#version=2010000
#version=2010100
#baseurl=http://g.static.mega.co.nz/upd/wcmd64/
#Hash: note this is the hash of the public key assuming an "\n" at the end
#pubkeysha256sum=1d3a6360832e193cb98707692c3816b5022ec976e2915cee60994ba20e292b4a
@ -42,9 +42,9 @@ api-ms-win-crt-stdio-l1-1-0.dll;api-ms-win-crt-stdio-l1-1-0.dll;e4a6bd5d65d39da4
api-ms-win-crt-string-l1-1-0.dll;api-ms-win-crt-string-l1-1-0.dll;a1cf3656daa57afb840714f891e7f072ca56bf5838f525d4394c362ef5c8ed8f
api-ms-win-crt-time-l1-1-0.dll;api-ms-win-crt-time-l1-1-0.dll;fc27f6061faf91d696a2b3685a3bfac4de49fbf78d578b9970e1ed21f683b209
api-ms-win-crt-utility-l1-1-0.dll;api-ms-win-crt-utility-l1-1-0.dll;788611c05ef16759ac57df231b25b413be33fccabbeb446caaf4b5cbedd8e1dc
avcodec-59.dll;avcodec-59.dll;b74ca7294bc57a04d27d06769e738e42bf5162ef079895a5b14104ef35d1cde8
avformat-59.dll;avformat-59.dll;34f47a4d86ddffd53bef4a8020aeacfe280a3b24770f61742e31738c7b796158
avutil-57.dll;avutil-57.dll;316a5b5150173915d398d0833ddeecd8ed0b64921e8dfac9502801254a68544a
avcodec-59.dll;avcodec-59.dll;826be21a723f8677d9517a115c68d92aa8a743a38de53becfadd6a67deffd807
avformat-59.dll;avformat-59.dll;e7b19d7d8808e8e5d1340bc22daf6185511e420f17f04eb2705c97f0d0cc7280
avutil-57.dll;avutil-57.dll;aa99d2d243ba01c17251d6d93d270ff1f2b6906808fa056f6eeec38513916f55
concrt140.dll;concrt140.dll;e2e4609c569c69f7b1686f6d0e81ce62187ac5df05e0247954500053b3c3de3f
MEGA Website.url;MEGA Website.url;7b5f1278de755dde65017404b662b6ab97fa7328974eec3872ce571f7e462dac
mega-attr.bat;mega-attr.bat;7a5b5b221bc921a5eb98633f519b2141bd0daede6eae40cba113333992967de7
@ -104,19 +104,19 @@ mega-users.bat;mega-users.bat;6f4499de547c0d5c5bcba21d5c226bb83a6f01909d9fc4cd1c
mega-version.bat;mega-version.bat;2f1794963704f4dc65e23155ef1fb27788ea48e6099479c4809093f7281c28fc
mega-webdav.bat;mega-webdav.bat;97c8f94a273c7d7d9e5b6b1929a8e227c3a15d6c09c8124f12d7fe3723a7beae
mega-whoami.bat;mega-whoami.bat;48f9d5104bb5364f6831b11d9847871c528ad656655c3fa49ce9be70e932767f
MEGAclient.exe;MEGAclient.exe;e309b409dedb9b97192a3366dc00a490b2483710878f3e2299cd58469f777f4b
MEGAcmdServer.exe;MEGAcmdServer.exe;fa9dd0e587f9685b079bb7fadf793adb285e4a4a685cbb9e70c1a5c38bff3488
MEGAcmdShell.exe;MEGAcmdShell.exe;5354cf6a5fd92825c9c6fff8e438ca7ed576ccefa73a644b65bf82c16504bdb8
MEGAcmdUpdater.exe;MEGAcmdUpdater.exe;9c740536dcdce7452008357e0e303adda056454cdbf726cc5a4db54126f1e8c2
MEGAclient.exe;MEGAclient.exe;9f3360e7c4a68220939dd872f861915d9eb3350a247d06d0488a6f336bd16b74
MEGAcmdServer.exe;MEGAcmdServer.exe;85d7e3613d1c28b21a301c1b4faf5c9c966f785e07d030836bfa7501d88b0fd2
MEGAcmdShell.exe;MEGAcmdShell.exe;b9848ff62e49e97c494adb5cb4470df4c951ff29ca905dff68d4d1d8cfdb0b1b
MEGAcmdUpdater.exe;MEGAcmdUpdater.exe;b8b1a966c1708badcd7f0f86c78e82576710d6c6f1cacdcfa6ff3351619a2edc
msvcp140.dll;msvcp140.dll;9057d39b36b6c7d054865ee2bf9cde7a490fe3b01ec4e82514687e24f576269f
msvcp140_1.dll;msvcp140_1.dll;a65249861238e1c18b84ae5d112617c438d83a76b67eddc170ad82dbc2338665
msvcp140_2.dll;msvcp140_2.dll;89e2e9a163165e20c540f9adea081e927ddfe4a556547b0f45f11586d4cce165
msvcp140_atomic_wait.dll;msvcp140_atomic_wait.dll;fbf41e4b53f51bbf73fee37b6120103fea6b7d5ae29916f8ef50c50cfdedeead
msvcp140_codecvt_ids.dll;msvcp140_codecvt_ids.dll;0e1d3d76e899a89fb3893fb13abae232ff62ad4f573214dd2f02b8398166bcc6
swresample-4.dll;swresample-4.dll;64e1dc0b117ab2c50c38ef7ad6b795496c7deb52c41d688a319debc6836eb1ce
swscale-6.dll;swscale-6.dll;cf9510e10a0437dbb7600a00099a80bb06941ac6b3db62a3ff4ea91b239248a2
swresample-4.dll;swresample-4.dll;dfc6229433ef64c4d649f1a01d59b8fadec4083d945fdb68c61a8c40e3193282
swscale-6.dll;swscale-6.dll;9e62381fa36d062d40b5d95201768c53764e3f5ca5f7aed96f8da537fe4f3983
ucrtbase.dll;ucrtbase.dll;91d027417ff2301b7135e864a5df6693488f8412ff87040f4897e0e03bc2577b
uninst.exe;uninst.exe;6b2fff701b758b02f468068ddca0cb81367853c5c184dd2e2b0096ed5e20bd79
uninst.exe;uninst.exe;8437f9996a3353557fc58bff77da2acd0b2d5edf9cfb621fe62ef1c19bd62add
vccorlib140.dll;vccorlib140.dll;8903b5d88968791d2a93648a54a1ac3d1c708c579a72311ffe194f6d66903043
vcomp140.dll;vcomp140.dll;036b9b3f7ece8dfd48aeccd77113721c5305043aaa9c64d1e72812252727aa7c
vcruntime140.dll;vcruntime140.dll;da72e6677bd1bcd01c453c1998aaa19aeaf6659f4774cf6848409da8232a95b2

2
sdk

@ -1 +1 @@
Subproject commit dbf529165d7c9e5e2df9fc7246a050b3027db39e
Subproject commit 61013ee2331faf901d9ce88fc0fdf4def9ce4fbd

View File

@ -642,8 +642,8 @@ void insertValidParamsPerCommand(set<string> *validParams, string thecommand, se
}
else if ("sync-config" == thecommand)
{
validOptValues->insert("delayed-uploads-wait-seconds");
validOptValues->insert("delayed-uploads-max-attempts");
validParams->insert("delayed-uploads-wait-seconds");
validParams->insert("delayed-uploads-max-attempts");
}
else if ("export" == thecommand)
{
@ -1792,7 +1792,7 @@ const char * getUsageStr(const char *command, const HelpFlags& flags)
}
if (!strcmp(command, "sync-config"))
{
return "sync-config [--delayed-uploads-wait-seconds=waitsecs | --delayed-uploads-max-attempts=attempts]";
return "sync-config [--delayed-uploads-wait-seconds | --delayed-uploads-max-attempts]";
}
if (!strcmp(command, "backup"))
{
@ -2595,7 +2595,7 @@ string getHelpStr(const char *command, const HelpFlags& flags = {})
os << "If local and remote paths are provided, it will start synchronizing a local folder into a remote folder." << endl;
os << "If an ID/local path is provided, it will list such synchronization unless an option is specified." << endl;
os << endl;
os << "Note: use the \"sync-config\" command to show and modify global sync configuration." << endl;
os << "Note: use the \"sync-config\" command to show global sync configuration." << endl;
os << endl;
os << "Options:" << endl;
os << " -d | --delete" << " " << "ID|localpath" << "\t" << "deletes a synchronization (not the files)." << endl;
@ -2708,25 +2708,15 @@ string getHelpStr(const char *command, const HelpFlags& flags = {})
}
else if (!strcmp(command, "sync-config"))
{
auto duLimits = GlobalSyncConfig::DelayedUploads::getCurrentLimits(*api);
os << "Shows and modifies global sync configuration." << endl;
os << "Controls sync configuration." << endl;
os << endl;
os << "Displays current configuration if no options are provided. Configuration values are persisted across restarts." << endl;
os << "Displays current configuration." << endl;
os << endl;
os << "New uploads for files that change frequently in syncs will be delayed until a wait time passes." << endl;
os << "New uploads for files that change frequently in syncs may be delayed until a wait time passes to avoid wastes of computational resources." << endl;
os << " Delay times and number of changes may change overtime" << endl;
os << "Options:" << endl;
os << " --delayed-uploads-wait-seconds Sets the seconds to be waited before a file that's being delayed is uploaded again. Default is 30 minutes (1800 seconds)." << endl;
if (duLimits)
{
os << " Note: wait seconds must be between " << duLimits->mLower.mWaitSecs << " and " << duLimits->mUpper.mWaitSecs << " (inclusive)." << endl;
}
os << " --delayed-uploads-max-attempts Sets the max number of times a file can change in quick succession before it starts to get delayed. Default is 2." << endl;
if (duLimits)
{
os << " Note: max attempts must be between " << duLimits->mLower.mMaxAttempts << " and " << duLimits->mUpper.mMaxAttempts << " (inclusive)." << endl;
}
os << " --delayed-uploads-wait-seconds Shows the seconds to be waited before a file that's being delayed is uploaded again." << endl;
os << " --delayed-uploads-max-attempts Shows the max number of times a file can change in quick succession before it starts to get delayed." << endl;
}
else if (!strcmp(command, "backup"))
{

View File

@ -7850,7 +7850,7 @@ void MegaCmdExecuter::executecommand(vector<string> words, map<string, int> *clf
{
OUTSTREAM << endl;
OUTSTREAM << "Some of your \"Pending\" sync uploads are being delayed due to very frequent changes. They will be uploaded once the delay finishes. "
<< "Use the \"" << getCommandPrefixBasedOnMode() << "sync-config\" command to configure the upload delay." << endl;
<< "Use the \"" << getCommandPrefixBasedOnMode() << "sync-config\" command to show the upload delay." << endl;
}
}
else
@ -7956,10 +7956,11 @@ void MegaCmdExecuter::executecommand(vector<string> words, map<string, int> *clf
return;
}
auto duWaitSecsOpt = getIntOptional(*cloptions, "delayed-uploads-wait-seconds");
auto duMaxAttemptsOpt = getIntOptional(*cloptions, "delayed-uploads-max-attempts");
auto duWaitSecsOpt = getFlag(clflags, "delayed-uploads-wait-seconds");
auto duMaxAttemptsOpt = getFlag(clflags, "delayed-uploads-max-attempts");
bool all = !duWaitSecsOpt && !duMaxAttemptsOpt;
if (!duWaitSecsOpt && !duMaxAttemptsOpt)
{
auto duConfigOpt = DelayedUploads::getCurrentConfig(*api);
if (!duConfigOpt)
@ -7969,20 +7970,16 @@ void MegaCmdExecuter::executecommand(vector<string> words, map<string, int> *clf
}
DelayedUploads::Config duConfig = *duConfigOpt;
OUTSTREAM << "Delayed uploads wait time: " << duConfig.mWaitSecs << " seconds" << endl;
OUTSTREAM << "Max attempts until uploads are delayed: " << duConfig.mMaxAttempts << endl;
if (all || duWaitSecsOpt)
{
OUTSTREAM << "Delayed uploads wait time: " << duConfig.mWaitSecs << " seconds" << endl;
}
if (all || duMaxAttemptsOpt)
{
OUTSTREAM << "Max attempts until uploads are delayed: " << duConfig.mMaxAttempts << endl;
}
return;
}
if (duWaitSecsOpt)
{
DelayedUploads::updateWaitSecs(*api, *duWaitSecsOpt);
}
if (duMaxAttemptsOpt)
{
DelayedUploads::updateMaxAttempts(*api, *duMaxAttemptsOpt);
}
}
#endif
else if (words[0] == "cancel")

View File

@ -26,10 +26,11 @@ namespace megacmd {
const char * const megacmdchangelog =
"FUSE (beta): Added fuse commands on Linux to allow your MEGA folders to be directly mounted to your local drive""\n"
"Delayed sync uploads: Introduced a mechanism to delay very frequent sync uploads, and the sync-config command""\n"
"Delayed sync uploads: Introduced a mechanism to delay to frequently changed sync uploads, and the sync-config command""\n"
"Logging: Messages are now printed in standard error, the rotating logger is now configurable and more verbose by default, passwords are now redacted from the logs, and other fixes and refinements""\n"
"Fixed a crash when auto-completing a local folder that doesn't exist""\n"
"Fixed the confirmcancel command incorrectly reporting failure on success""\n"
"Extended speedlimit command to allow increasing max connections""\n"
"Other fixes and improvements to enhance reliability and performance"
;
}//end namespace

View File

@ -394,6 +394,7 @@ std::optional<Config> makeApiRequest(RequestFunc&& requestFunc)
if (error->getErrorCode() != mega::MegaError::API_OK)
{
setCurrentThreadOutCode(error->getErrorCode());
return std::nullopt;
}