Repository navigation
openRepoShape v1.0.1
openRepoShape v1.0.1
v1.0.1 is v1.0.0 plus one change: openRepoShape installs in one line, and the
command it installs stays on the release tag it was installed from (#564).
What 1.0.1 adds
-
The one-line install.
install.shis attached to every release, so
this line always installs the newest one:curl -fsSL https://github.com/opensoft/openRepoShape/releases/latest/download/install.sh | bashIt reads which release is the newest from github.com's
releases/latest
redirect, with noghand no login. It fetches that release's
openRepoShapeand installs it into~/.local/bin, or
$OPENREPOSHAPE_BIN_DIR, pinned to the release tag. It installs
git-filter-repo2.47.0 withpipxwhenpipxis there and
git-filter-repois not, and otherwise prints the one command that
installs it. It ends withopenRepoShape --preflight.install.shitself
never runssudo; the preflight it ends with offers what is missing, each
behind a typedyesat your terminal. Every downloadinstall.shmakes
is HTTPS only, redirects included, at TLS 1.2 or newer. It exits 0 when the
command is
installed and the preflight passed, 1 when the command is installed but the
preflight did not pass or the command does not stay on the release tag, and
2 when it installed nothing. -
An installed command that stays on its release tag. With
OPENREPOSHAPE_RECORD_REF=1, whichinstall.shsets,openRepoShape --installrecords$OPENREPOSHAPE_REFinopenRepoShape.refbeside the
command it places. The installed command then fetchessetup.shat that
ref,setup.shclones the standard at it (--shape-ref), and--doctor
checks its clone out at it, and so does a symlink to the command. In
v1.0.0 an installed command fetched main on every run unless
$OPENREPOSHAPE_REFwas exported.$OPENREPOSHAPE_REFset for one run
still overrides the record, andopenRepoShape --versionprints the ref in
force. The installed command is byte for byte the release's own file.
Install and upgrade
- The newest release: the line above. Run it again to upgrade to the
newest release. - A named release:
curl -fsSL https://github.com/opensoft/openRepoShape/releases/latest/download/install.sh | bash -s -- v1.0.1,
orbash install.sh v1.0.1from a checkout or a download. - What is installed:
openRepoShape --versionprints
openRepoShape (opensoft/openRepoShape @ v1.0.1). - By hand, at main: the README's
gh api repos/opensoft/openRepoShape/contents/openRepoShape … | bash -s -- --install
line still installs main's command, which records no ref and follows main. - Platforms: macOS (the stock
/bin/bash3.2 is enough), Linux and WSL2.
Git Bash on Windows is meant to work, as #564 asks, but nothing has run it
yet: the launcher's and the installer's tests skip on the Windows job.
#585 (v1.1.0) runs them under Git Bash. Native Windows without Git Bash
still starts withpy setup-project.py, as the README says. - A project's pin on the standard works as before. Follow
How to pin 1.0.0 with the v1.0.1 release
commit.
A script that runs --install
openRepoShape --install records a ref only when it is asked to, with
OPENREPOSHAPE_RECORD_REF=1. A script that exports $OPENREPOSHAPE_REF
around --install for its own reasons gets the install it got from v1.0.0:
nothing is recorded, a record already there is removed, and the command
follows main. To pin the command a script installs, set
OPENREPOSHAPE_RECORD_REF=1 and set $OPENREPOSHAPE_REF to the commit or
tag the command should stay on.
Known limits
v1.0.1 changes nothing else, so its known limits are v1.0.0's:
Known limits in v1.0.0.