forge/README.md

1.8 KiB

forge

Design Goals

  • Software engineering is the art of making things work.
  • Release engineering is the art of making things perfect.

Notes

This can be used to maintain git repositories expiremental work on federated git

  • Scans directories looking for git repositories
  • The default behavior is to use 3 branches. 'master or main', 'devel', ''
  • 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

Development Goals

  • have a GUI that also works on the command line

Install:

  • go install go.wit.com/apps/forge@latest

building from sources

# 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

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.)

go-clone go.wit.com/apps/forge                  # this will 'git clone' about 20 repos into ~/go/src (or where your go.work file is)

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/