sandbox_pull

sandbox_get とダウンロードを合わせたもの:ボックスのファイルをローカルのパスに書き、ディレクトリならそこに展開します。stdio アダプター経由でのみ動きます。

入力 出力
id、path、localPath、extract、clean(アダプターのみ) ok、localPath、bytes、extracted、files、paths。該当するときは removed、removedPaths、changedWhileReading、notes

sandbox_pull(アダプターのみ)は sandbox_get とダウンロードを一度に行います。ファイルは localPath に書き、ディレクトリは中身を localPath に直接展開します(extract: false なら tar.gz のまま)。path は sandbox_get と同じものを受け付けます。/work からの相対(/work/... でも可)か、/tmp/ や /dev/shm/ の下の絶対パスです。空のファイルは空のファイルとして、symlink で指したディレクトリはその中身ごと返ります。ボックスが作ったもの(go mod tidy 後の go.mod、ビルドした dist、フォーマッタの出力)は、出力して貼り戻す代わりにこれで取り出します。ローカルのパスは localPath です(sandbox_sync と同じ dest も受け付けます)。files は書いたファイルの数、paths はその先頭 50 件です。

展開は localPath にすでにあるものに重ねるので、ボックスで消したファイルはローカルに残ります。"clean": true なら localPath をボックスのディレクトリとまったく同じにします。アーカイブはまず隣に展開され、成功したときだけ入れ替わります。removed(と先頭 20 件の removedPaths)が消えたローカルのファイルの数です。clean は、git のチェックアウト、ホームディレクトリ、アダプターの作業ディレクトリ、それらを含むフォルダーには使えません。

ボックスで何かがまだ書いているディレクトリ(バックグラウンドのテスト実行など)もそのまま返り、まとめている間に変わったファイルが changedWhileReading に並びます。それらは書きかけかもしれないので、書き終わってからもう一度取り出してください。ダウンロード中は進捗を伝え、2 分間データが来なければエラーで止まり、最初のダウンロードリンクが拒否されたら一度だけ新しいリンクを取り直します。


すべてのツールとトピックはツールリファレンスに並んでいます。