Skip to content

SSH clone is native-only: document or handle gracefully on JS target #18

@mizchi

Description

@mizchi

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions