Documentation ¶
Overview ¶
Git Town - a high-level CLI for Git
Git Town adds Git commands that make software development more efficient by keeping Git branches better in sync with each other. This reduces merge conflicts and the number of Git commands you need to run.
Directories ¶
Path | Synopsis |
---|---|
internal
|
|
browser
Package browser allows interacting with the default browser on the user's machine.
|
Package browser allows interacting with the default browser on the user's machine. |
cli
Package cli provides tooling to interact with the command-line environment that Git Town runs in.
|
Package cli provides tooling to interact with the command-line environment that Git Town runs in. |
cli/colors
Package colors provides definitions for ANSI colors to be used in terminal output.
|
Package colors provides definitions for ANSI colors to be used in terminal output. |
cli/dialog
Package dialog provides high-level screens through which the user can enter data into Git Town.
|
Package dialog provides high-level screens through which the user can enter data into Git Town. |
cli/dialog/components
Package dialog contains shared components to build full dialog screens out of.
|
Package dialog contains shared components to build full dialog screens out of. |
cli/dialog/components/list
Package list provides a generic list implementation to be used inside BubbleTea-based dialog components.
|
Package list provides a generic list implementation to be used inside BubbleTea-based dialog components. |
cli/flags
Package flags provides helper methods for working with Cobra flags in a way where Go's usage checker (which produces compilation errors for unused variables) enforces that the programmer didn't forget to define or read the flag.
|
Package flags provides helper methods for working with Cobra flags in a way where Go's usage checker (which produces compilation errors for unused variables) enforces that the programmer didn't forget to define or read the flag. |
cli/format
Package format formats data for printing to the CLI.
|
Package format formats data for printing to the CLI. |
cli/io
Package io provides low-level access to operating system primitives in a way that works across different operating systems.
|
Package io provides low-level access to operating system primitives in a way that works across different operating systems. |
cli/print
Package print outputs complex data structures to the CLI.
|
Package print outputs complex data structures to the CLI. |
cmd
Package cmd defines the Git Town commands.
|
Package cmd defines the Git Town commands. |
config
Package config provides functionality to read and write the Git Town configuration.
|
Package config provides functionality to read and write the Git Town configuration. |
config/commandconfig
Package commandconfig provides reusable infrastructure for the configuration of Git Town commands
|
Package commandconfig provides reusable infrastructure for the configuration of Git Town commands |
config/configdomain
Package configdomain defines domain concepts and data types around Git Town configuration.
|
Package configdomain defines domain concepts and data types around Git Town configuration. |
config/configfile
Package configfile provides functionality around storing Git Town configuration information in a dedicated configuration file.
|
Package configfile provides functionality around storing Git Town configuration information in a dedicated configuration file. |
config/envconfig
Package envconfig provides functionality to read configuration overrides from environment variables.
|
Package envconfig provides functionality to read configuration overrides from environment variables. |
config/gitconfig
Package gitconfig provides functionality around storing Git Town configuration information as Git metadata.
|
Package gitconfig provides functionality around storing Git Town configuration information as Git metadata. |
execute
Package execute provides reusable high-level functionality shared by all Git Town commands but doesn't have a place in other subsystems because it needs to use many subsystems together.
|
Package execute provides reusable high-level functionality shared by all Git Town commands but doesn't have a place in other subsystems because it needs to use many subsystems together. |
git
Package git provides access to Git.
|
Package git provides access to Git. |
git/gitdomain
Package gitdomain defines basic concepts from the domain of Git: branches, remotes, commit SHAs, etc.
|
Package gitdomain defines basic concepts from the domain of Git: branches, remotes, commit SHAs, etc. |
git/giturl
Package giturl provides facilities to work with the special URL formats used in Git remotes.
|
Package giturl provides facilities to work with the special URL formats used in Git remotes. |
gohacks
Package gohacks implements all the small things that are needed during programming but not present in Go or its standard library.
|
Package gohacks implements all the small things that are needed during programming but not present in Go or its standard library. |
gohacks/cache
Package cache provides infrastructure to cache things in memory.
|
Package cache provides infrastructure to cache things in memory. |
gohacks/slice
Package slice provides generic functions to work with slices.
|
Package slice provides generic functions to work with slices. |
hosting
Package hosting provides support for interacting with code hosting platforms.
|
Package hosting provides support for interacting with code hosting platforms. |
subshell
Package subshell provides facilities to execute CLI commands in subshells.
|
Package subshell provides facilities to execute CLI commands in subshells. |
sync
Package sync provides functionality around syncing branches.
|
Package sync provides functionality around syncing branches. |
undo/undobranches
Package undobranches restores the Git branches to a known snapshot.
|
Package undobranches restores the Git branches to a known snapshot. |
undo/undoconfig
package undoconfig undoes changes to the configuration settings stored as Git metadata.
|
package undoconfig undoes changes to the configuration settings stored as Git metadata. |
undo/undostash
Package undostash restores changes to the Git stash.
|
Package undostash restores changes to the Git stash. |
validate
Package validate provides functionality to validate the status of Git repositories.
|
Package validate provides functionality to validate the status of Git repositories. |
vm/interpreter/config
Package config contains lifecycle commands to store runstate for Git Town commands that only change configuration.
|
Package config contains lifecycle commands to store runstate for Git Town commands that only change configuration. |
vm/interpreter/full
Package runvm implements the virtual machine for executing steps of Git Town commands.
|
Package runvm implements the virtual machine for executing steps of Git Town commands. |
vm/interpreter/light
a lightweight interpreter that ignores errors, for running undo programs
|
a lightweight interpreter that ignores errors, for running undo programs |
vm/opcodes
Package opcode defines the individual operations that the Git Town VM can execute.
|
Package opcode defines the individual operations that the Git Town VM can execute. |
vm/program
Package steps provides facilities to represent and build collections of steps.
|
Package steps provides facilities to represent and build collections of steps. |
vm/runstate
Package runstate represents the current execution status of a Git Town command.
|
Package runstate represents the current execution status of a Git Town command. |
vm/statefile
Package persistence stores Git Town runstate on disk.
|
Package persistence stores Git Town runstate on disk. |
prelude
Package is the "standard library" for strongly-typed Go codebases.
|
Package is the "standard library" for strongly-typed Go codebases. |
Package test provides the infrastructure for the end-to-end tests.
|
Package test provides the infrastructure for the end-to-end tests. |
envvars
Package envvars provides helper functions to work with lists of environment variables as provided by `os.Environ`.
|
Package envvars provides helper functions to work with lists of environment variables as provided by `os.Environ`. |
Click to show internal directories.
Click to hide internal directories.