git repositoryのsizeが一定以上をlfs trackするやつ
find . -type f -size +1M -not -path "./.git/*" | xargs git lfs track
いままでこのワンライナー使ってたのだけれど、
単に特定サイズ以上を全部trackすると.gitattributeが汚くなって嫌なので書いた。
例えばこう書いてあるものが
*.so
こうなるのが嫌だった。
*.so liba.so libb.so
import $ from "https://deno.land/x/dax_extras/mod.ts"; // git lfs track more 1MB files await $`find . -size +1M -not -path "./.git/*"`.forEach(async (file) => { const filter = (await $`git check-attr filter ${file}`.text()).match(/filter: (.*)/); if (filter && filter[1] === "lfs") return; await $`git lfs track ${file}`; });
mimic-cross実装
mimicx chroot ls -l
が実行できない
ということに気づいた。
-l
がmimicxのオプションとして処理されてしまう。
mimicx chroot -- ls -l
で動くと良さそうだが、
--
が出てくるとそこでparseが終わるような挙動をしている。
Deno CLI コマンド作成 最速 方法 20231218 を見てparseArgs試して見たりもしたが、cliffyの書き心地が良かったなと言う気持ちに。
cliffyでなんとかしたいので明日見てみる。