mirror of
https://github.com/wavetermdev/waveterm
synced 2026-05-06 06:58:21 +00:00
This adds the ability to stream `tar` archives over channels between `wsh` instances. The main use cases for this are remote copy and move operations. It also completes the `wavefs` implementation of the FileShare interface to allow copy/move interoperability between wavefiles and other storage types. The tar streaming functionality has been broken out into the new `tarcopy` package for easy reuse. New `fileshare` functions are added for `CopyInternal`, which allows copying files internal to a filesystem to bypass the expensive interop layer, and `MoveInternal`, which does the same for moving a file within a filesystem. Copying between remotes is now handled by `CopyRemote`, which accepts the source `FileShareClient` as a parameter. `wsh` connections use the same implementation for `CopyInternal` and `CopyRemote` as they need to request the channel on the remote destination, since we don't offer a way to pass channels as a parameter to a remote call. This also adds a recursive `-r` flag to `wsh file rm` to allow for deleting a directory and all its contents. S3 support will be addressed in a future PR. --------- Co-authored-by: sawka <mike@commandline.dev> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| authkey | ||
| blockcontroller | ||
| blocklogger | ||
| docsite | ||
| eventbus | ||
| filestore | ||
| genconn | ||
| gogen | ||
| ijson | ||
| panichandler | ||
| remote | ||
| service | ||
| shellexec | ||
| telemetry | ||
| trimquotes | ||
| tsgen | ||
| userinput | ||
| util | ||
| vdom | ||
| waveai | ||
| waveapp | ||
| wavebase | ||
| waveobj | ||
| wcloud | ||
| wconfig | ||
| wcore | ||
| web | ||
| wps | ||
| wshrpc | ||
| wshutil | ||
| wsl | ||
| wslconn | ||
| wstore | ||