Context
PR #17 implemented SSH clone support using the native interactive protocol with pipe-based I/O (spawn_orphan + ReadFromProcess/WriteToProcess).
This fix is inherently native-only because:
- SSH transport spawns
ssh as a subprocess
- Pipe-based I/O (
@process.spawn_orphan, @process.write_to_process, @process.read_from_process) is only available on native targets
- The implementation lives in
src/io/native/upload_pack_process.mbt
Current behavior
On JS target, bit clone is not supported at all — any non-relay command returns "bit: '<cmd>' is not supported in JS target".
Considerations
- Document that SSH clone requires the native binary
- Consider whether JS target should support clone over HTTP (smart HTTP protocol doesn't need subprocess pipes)
- The relay-based clone (
bit clone relay+https://...) works on both targets via HTTP
Context
PR #17 implemented SSH clone support using the native interactive protocol with pipe-based I/O (
spawn_orphan+ReadFromProcess/WriteToProcess).This fix is inherently native-only because:
sshas a subprocess@process.spawn_orphan,@process.write_to_process,@process.read_from_process) is only available on native targetssrc/io/native/upload_pack_process.mbtCurrent behavior
On JS target,
bit cloneis not supported at all — any non-relaycommand returns"bit: '<cmd>' is not supported in JS target".Considerations
bit clone relay+https://...) works on both targets via HTTP