summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference/mpremote.rst2
-rw-r--r--tools/mpremote/mpremote/main.py7
2 files changed, 8 insertions, 1 deletions
diff --git a/docs/reference/mpremote.rst b/docs/reference/mpremote.rst
index eb0233bdd..a48df9953 100644
--- a/docs/reference/mpremote.rst
+++ b/docs/reference/mpremote.rst
@@ -262,6 +262,8 @@ Examples
mpremote cp main.py :
+ mpremote cp :a.py :b.py
+
mpremote cp -r dir/ :
mpremote cp a.py b.py : + repl
diff --git a/tools/mpremote/mpremote/main.py b/tools/mpremote/mpremote/main.py
index fa4785b3b..bd98da882 100644
--- a/tools/mpremote/mpremote/main.py
+++ b/tools/mpremote/mpremote/main.py
@@ -333,10 +333,15 @@ def do_filesystem(pyb, args):
if fs_args[0] == "cp" and fs_args[1] == "-r":
fs_args.pop(0)
fs_args.pop(0)
- assert fs_args[-1] == ":"
+ if fs_args[-1] != ":":
+ print(f"{_PROG}: 'cp -r' destination must be ':'")
+ sys.exit(1)
fs_args.pop()
src_files = []
for path in fs_args:
+ if path.startswith(":"):
+ print(f"{_PROG}: 'cp -r' source files must be local")
+ sys.exit(1)
_list_recursive(src_files, path)
known_dirs = {""}
pyb.exec_("import uos")