2025-01-28 17:03:56 -06:00
|
|
|
# forge
|
2025-01-05 05:48:02 -06:00
|
|
|
|
2025-03-04 20:29:23 -06:00
|
|
|
## Design Goals
|
|
|
|
|
|
|
|
* Software engineering is the art of making things work.
|
|
|
|
* Release engineering is the art of making things perfect.
|
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
2025-01-28 17:03:56 -06:00
|
|
|
This can be used to maintain git repositories
|
2025-01-05 05:48:02 -06:00
|
|
|
expiremental work on federated git
|
|
|
|
|
2025-01-28 17:03:56 -06:00
|
|
|
* Scans directories looking for git repositories
|
|
|
|
* The default behavior is to use 3 branches. 'master or main', 'devel', '<username>'
|
|
|
|
* shows tags and dirty state
|
|
|
|
* uses a GUI or the console(console display needs work)
|
|
|
|
* always wrap around 'git' -- it basically just types 'git' commands really fast
|
2025-01-05 05:48:02 -06:00
|
|
|
|
2025-03-04 20:29:23 -06:00
|
|
|
## Development Goals
|
2025-01-28 17:03:56 -06:00
|
|
|
|
2025-03-04 20:29:23 -06:00
|
|
|
* have a GUI that also works on the command line
|
2025-01-28 17:03:56 -06:00
|
|
|
|
|
|
|
## Install:
|
|
|
|
|
|
|
|
* go install go.wit.com/apps/forge@latest
|
|
|
|
|
2025-03-04 20:29:23 -06:00
|
|
|
## building from sources
|
2025-01-28 17:03:56 -06:00
|
|
|
|
|
|
|
```
|
2025-03-04 20:29:23 -06:00
|
|
|
# note as of Feb 2025. Forge has an option in forge to build itself.
|
|
|
|
# The instructions below are out of date, but provide the general idea.
|
|
|
|
# accurate instructions are in the forge code itself
|
|
|
|
|
2025-01-28 17:03:56 -06:00
|
|
|
go install go.wit.com/apps/go-clone@latest # this tool makes it easier to 'git clone' repos and recursively 'git clone' the dependancies
|
|
|
|
go install go.wit.com/apps/autogenpb@latest # this tool will generate the protobuf *pb.go files (also Marshal(), Sort(), etc.)
|
|
|
|
|
2025-03-04 20:29:23 -06:00
|
|
|
go-clone go.wit.com/apps/forge # this will 'git clone' about 20 repos into ~/go/src (or where your go.work file is)
|
2025-01-28 17:03:56 -06:00
|
|
|
|
|
|
|
cd go.wit.com/lib/protobuf/forgepb
|
|
|
|
make # autogenpb will make .pb.go, marshal.pb.go and sort.pb.go files
|
|
|
|
cd go.wit.com/lib/protobuf/gitpb
|
|
|
|
make # autogenpb will make .pb.go, marshal.pb.go and sort.pb.go files
|
|
|
|
|
|
|
|
cd go.wit.com/apps/forge
|
|
|
|
make # this runs GO111MODULE=off go build insuring that your using only your git sources
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
## Debian packages:
|
|
|
|
|
|
|
|
Instructions are on https://mirrors.wit.com/
|