Extract sigil-git from sigil monorepo as standalone repo
Single-package extraction: sigil-git is the git-operations library used by sigil-build's deps resolver and reusable as a small forge-aware git API for any Sigil tool.
Filter-repo preserves the in-tree history under packages/sigil-git/ as master (24 commits). Per the sigil-package-extraction playbook:
- package.sgl: add explicit version: 0.13.1; switch url: from https://codeberg.org/sigil/sigil to https://codeberg.org/sigil/sigil-git; authors string normalized to "David Wilson <[email protected]>" - README.md: package overview, usage example, build/test instructions - .gitignore: build/ and .sigil/ build artifacts - manifest.scm: guix-shell environment (gcc-toolchain, make, pkg-config, git — git is a runtime dep for git-clone-bare, git-fetch, git-worktree-* shell-outs) - dev-redirects.sgl: maps codeberg:sigil/sigil-lang to ../sigil-lang for canonical ecosystem layout (~/Projects/Code/sigil/<repo>/) - sigil.lock: pins sigil-stdlib to sigil-lang master a436005a (v0.13.1)
The package's only dependency is sigil-stdlib pulled from codeberg:sigil/sigil-lang via from-git.
23/23 tests pass via published sigil-lang fetch.
.gitignore | 2 ++
README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
dev-redirects.sgl | 6 ++++++
manifest.scm | 8 ++++++++
package.sgl | 5 +++--
sigil.lock | 9 +++++++++
6 files changed, 79 insertions(+), 2 deletions(-).gitignoreadded
build/.sigil/README.mdadded
# sigil-gitGit operations for [Sigil](https://codeberg.org/sigil/sigil) tools — URLparsing, bare-repo cloning, worktree management, and remote fetch viashell-out to the system `git`.This package was extracted from the sigil monorepo — the in-tree historyunder `packages/sigil-git/` is preserved here as `master`.It backs the dependency resolver in `sigil-build` (cloning + fetching`from-git` deps) and is also reusable as a small `git` API for any Sigiltool that needs to talk to a forge.## Usage```scheme(import (sigil git));; Parse a forge-shorthand URL(parse-git-url "codeberg:sigil/sigil-git"); => alist with forge='codeberg user="sigil" repo="sigil-git";; Bare-clone for the dep cache(git-clone-bare "codeberg:sigil/sigil-git" "/tmp/sigil-git.git");; Add a detached-HEAD worktree at a specific ref(git-worktree-add "/tmp/sigil-git.git" "/tmp/wt" "v0.13.1")```The full export list lives at the top of `src/sigil/git.sgl`.## Build & testThis is a pure-Scheme package. No native build step.```bashsigil deps install # fetch sigil-stdlib via codeberg:sigil/sigil-langsigil test --report # run test/test-git.sgl```For local development against an unpublished sigil-lang, use`dev-redirects.sgl` (sibling checkout at `../sigil-lang/`):```bashsigil deps install --redirects ./dev-redirects.sglsigil test --redirects ./dev-redirects.sgl --report```## LicenseBSD-3-Clause. See the monorepo for the canonical license text.dev-redirects.sgladded
;; Development redirects — point dependencies at local Sigil checkouts(redirects repos: (list (for-repo url: "codeberg:sigil/sigil-lang" use: (from-path dir: "../sigil-lang"))))manifest.scmadded
;; sigil-git development environment;; Use with: guix shell -m manifest.scm(specifications->manifest '("gcc-toolchain" "make" "pkg-config" "git"))package.sglmodified
(package name: "sigil-git" version: "0.13.1" sigil: "^0.13" description: "Git operations for Sigil tools" url: "https://codeberg.org/sigil/sigil" url: "https://codeberg.org/sigil/sigil-git" license: "BSD-3-Clause" authors: (list "David Wilson") authors: (list "David Wilson <[email protected]>") dependencies: (list (from-git url: "codeberg:sigil/sigil-lang" package: "sigil-stdlib" version: "^0.13.1")))sigil.lockadded
;; Auto-generated by sigil deps install. Do not edit.(lock (package name: "sigil-stdlib" url: "codeberg:sigil/sigil-lang" ref: "^0.13.1" sha: "a436005a34754522d3c38b608aa892b4f8e13dd3" package-selector: "sigil-stdlib" version: "0.13.1"))