sidestepper/README.md

74 lines
3 KiB
Markdown
Raw Permalink Normal View History

2025-01-20 05:05:26 +08:00
# sota staircase SideStepper
2025-01-20 04:52:09 +08:00
2025-01-20 05:05:26 +08:00
a fast enough .gitignore-respecting large file finder
made for me to find large files in my unity game repositories that wouldn't
fit github's 100mb limit, for when i'd push my repositories to github for
schoolwork submission
rewritten from [python](https://forge.joshwel.co/mark/sota/src/branch/main/sidestepper.py)
to rust, as a reason to learn rust
2025-01-20 04:52:09 +08:00
**this is brain made software**: large language-based code generation has not
2025-01-20 05:05:26 +08:00
been extensively used here. but i'd be lying if i said i didn't ask chatgpt if
there was a better way to check a boolean result lol
2025-01-20 04:52:09 +08:00
## quickstart
### installing a binary
- [Windows](https://forge.joshwel.co/mark/sidestepper/releases/download/latest/sidestepper-windows-x86_64.exe)
- [Linux (static binary, musl)](https://forge.joshwel.co/mark/sidestepper/releases/download/latest/sidestepper-linux-x86_64)
- [macOS universal](https://forge.joshwel.co/mark/sidestepper/releases/download/latest/sidestepper-macos-universal)
- [macOS x86_64](https://forge.joshwel.co/mark/sidestepper/releases/download/latest/sidestepper-macos-x86_64)
- [macOS aarch64](https://forge.joshwel.co/mark/sidestepper/releases/download/latest/sidestepper-macos-aarch64)
2025-01-20 04:52:09 +08:00
(also available in the 'releases' tab wherever this repository is situated in)
### build it yourself
1. [get rust and cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html#install-rust-and-cargo)
2025-01-20 05:05:26 +08:00
2. run `cargo build release`
2025-01-20 04:52:09 +08:00
**nix users, rejoice:** `nix run github:markjoshwel/sidestepper` or
2025-01-21 18:31:55 +00:00
`git+https://forge.joshwel.co/mark/sidestepper.git` (or nix build it, or add it
to your profile, or your system configuration, whatever)
2025-01-20 04:52:09 +08:00
### running it
```text
./sidestepper
```
or on windows,
```text
./sidestepper.exe
```
it'll find for a `.git` directory in the current or parent directories, if you
2025-01-21 22:12:07 +08:00
want to use this not in the context i usually use this for (which is for git
repositories), pass in `--search-here` to treat the current working directory
as the 'repository root'
2025-01-20 04:52:09 +08:00
2025-01-20 05:05:26 +08:00
it'll then make a `.sotaignore` file that i use in my other tooling scripts,
but if you want it to output external-tool-friendly output to stdout, pass in
`--plumbing` for it to output encountered large files, line-by-line, to stdout
2025-01-20 04:52:09 +08:00
## historical changes
- v5 (i3/a6) - fix for a silly bug (not properly checking if a .sotaignore entry already exists before writing it)
- v5 (i3/a5) - 3rd implementation, rewritten in rust lol (no longer using iod-ttt,
just piggybacking off [ignore](https://crates.io/crates/ignore)'s WalkBuilder)
2025-01-20 04:52:09 +08:00
- v4 (i2/a4) - optimised single iod-ttt
- v3 (i2/a3) - faster matching by remembering ignored directories (ignore on demand, 'iod')
2025-01-21 22:12:07 +08:00
- v2 (i2/a2) - 2nd implementation, corrected ignored directory matching (named 'trytrytry', 'ttt')
2025-01-20 04:52:09 +08:00
- v1 (i1/a1) - original python script, still embedded within ReStepper
## licence
with all my heart, copyright (c) 2025 mark joshwel
the sota staircase SideStepper is permissively licenced, not needing
attribution, under the [0BSD licence](LICENCE). go ham.