(sigil changes)
(sigil changes) - Release management with changesets
This module provides the public API for the changes system.
Example usage: (import (sigil changes)) (changes-init-handler '() '()) ; Initialize .changes/ (changes-add-handler '() '()) ; Create changeset interactively (changes-status-handler '() '()) ; Show pending changes (changes-release-handler '() '()) ; Execute release
Exports
changesetprocedureA parsed changeset file
Re-exported from (sigil changes types)
changeset?procedureTest if a value is a changeset struct.
Re-exported from (sigil changes types)
changeset-idprocedureGet the id field of a changeset struct.
Re-exported from (sigil changes types)
changeset-pathprocedureGet the path field of a changeset struct.
Re-exported from (sigil changes types)
changeset-packagesprocedureGet the packages field of a changeset struct.
Re-exported from (sigil changes types)
changeset-descriptionprocedureGet the description field of a changeset struct.
Re-exported from (sigil changes types)
package-bumpprocedureA package bump within a changeset
Re-exported from (sigil changes types)
package-bump?procedureTest if a value is a package-bump struct.
Re-exported from (sigil changes types)
package-bump-nameprocedureGet the name field of a package-bump struct.
Re-exported from (sigil changes types)
package-bump-bump-typeprocedureGet the bump-type field of a package-bump struct.
Re-exported from (sigil changes types)
release-planprocedureRelease plan computed from pending changesets
Re-exported from (sigil changes types)
release-plan?procedureTest if a value is a release-plan struct.
Re-exported from (sigil changes types)
release-plan-packagesprocedureGet the packages field of a release-plan struct.
Re-exported from (sigil changes types)
release-plan-changesetsprocedureGet the changesets field of a release-plan struct.
Re-exported from (sigil changes types)
package-releaseprocedureA single package's release info
Re-exported from (sigil changes types)
package-release?procedureTest if a value is a package-release struct.
Re-exported from (sigil changes types)
package-release-nameprocedureGet the name field of a package-release struct.
Re-exported from (sigil changes types)
package-release-current-versionprocedureGet the current-version field of a package-release struct.
Re-exported from (sigil changes types)
package-release-next-versionprocedureGet the next-version field of a package-release struct.
Re-exported from (sigil changes types)
package-release-bump-typeprocedureGet the bump-type field of a package-release struct.
Re-exported from (sigil changes types)
package-release-changesetsprocedureGet the changesets field of a package-release struct.
Re-exported from (sigil changes types)
bump-type?procedureCheck if a symbol is a valid bump type
Re-exported from (sigil changes types)
bump-type>?procedureCompare bump types by precedence (major > minor > patch) Returns #t if a > b
Re-exported from (sigil changes types)
max-bump-typeprocedureReturn the higher of two bump types
Re-exported from (sigil changes types)
generate-changeset-idprocedureGenerate a unique changeset ID (adjective-noun format) Checks the changes-dir for existing files to avoid collisions
Re-exported from (sigil changes names)
parse-changeset-fileprocedureParse a changeset file from disk Returns a <changeset> record or #f if parsing fails
Re-exported from (sigil changes parse)
parse-changeset-stringprocedureParse a changeset from a string (for testing)
Re-exported from (sigil changes parse)
load-all-changesetsprocedureLoad all changesets from a directory Returns a list of <changeset> records
Re-exported from (sigil changes parse)
format-changesetprocedureFormat a changeset as a string for writing to disk
Re-exported from (sigil changes parse)
git-repo?procedureCheck if we're in a git repository
Re-exported from (sigil changes git)
git-root-dirprocedureGet the root directory of the git repository
Re-exported from (sigil changes git)
git-current-branchprocedureGet the current branch name
Re-exported from (sigil changes git)
git-commit-shaprocedureGet the current commit SHA (short form)
Re-exported from (sigil changes git)
git-addprocedureStage a file for commit
Re-exported from (sigil changes git)
git-commitprocedureCreate a commit with the given message Returns #t on success, #f on failure
Re-exported from (sigil changes git)
git-tagprocedureCreate an annotated tag
Re-exported from (sigil changes git)
git-diff-filesprocedureGet list of files changed between current branch and base
Re-exported from (sigil changes git)
git-main-branchprocedureDetect the main branch (main or master)
Re-exported from (sigil changes git)
generate-changelog-entryprocedureGenerate a changelog entry for a new version Returns a string in Keep a Changelog format
Re-exported from (sigil changes changelog)
update-changelog-fileprocedureUpdate an existing changelog file, prepending a new entry Returns #t on success, #f on failure
Re-exported from (sigil changes changelog)
categorize-changeprocedureCategorize a change description based on its first word Returns one of: Added, Changed, Deprecated, Removed, Fixed, Security, Other
Re-exported from (sigil changes changelog)
update-package-versionprocedureUpdate the version in a package.sgl file Returns #t on success, #f on failure
Re-exported from (sigil changes package-update)
read-package-versionprocedureRead the version string from a package.sgl file Returns the version string or #f if not found
Re-exported from (sigil changes package-update)
find-package-sglprocedureFind the package.sgl file for a package by name Searches in packages/ directory relative to workspace root
Re-exported from (sigil changes package-update)
compute-release-planprocedureCompute a release plan from changesets (lockstep versioning) All packages will be bumped to the same version. Returns a <release-plan> record
Re-exported from (sigil changes planning)
changes-init-handlerprocedureHandle the sigil changes init command
Re-exported from (sigil changes commands init)
changes-add-handlerprocedureHandle the sigil changes add command
Re-exported from (sigil changes commands add)
changes-status-handlerprocedureHandle the sigil changes status command
Re-exported from (sigil changes commands status)
changes-enforce-handlerprocedureHandle the sigil changes enforce command
Re-exported from (sigil changes commands enforce)
changes-release-handlerprocedureHandle the sigil changes release command
Re-exported from (sigil changes commands release)