diff --git a/README.md b/README.md index 1403539..af4e270 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ forge is a GUI front end for 'git' designed with the intent of simplifying federated git development. +FORGE NEVER DOES ANYTHING BUT EXEC's 'git' + ## Theory * Software engineering is the art of making things work. diff --git a/argv.go b/argv.go index 8a82ef9..be61247 100644 --- a/argv.go +++ b/argv.go @@ -138,9 +138,9 @@ func (args) Version() string { func (a args) Description() string { return ` -forge -- a tool to git repos at go.wit.com +forge -- a tool to manage lots of git repos. forge includes a GUI and TUI. - but you can probably use it for other things + forge only executes the 'git' command. Everything it does, you can run by hand with 'git'. ` } diff --git a/doCommit.go b/doCommit.go index 404171a..dceba44 100644 --- a/doCommit.go +++ b/doCommit.go @@ -95,6 +95,7 @@ func doCommitRepo(repo *gitpb.Repo) error { } if err := shell.ExecCheck([]string{"git", "commit", "--all"}); err != nil { + shell.ExecCheck([]string{"git", "reset"}) return err } log.Info("git commit ok. forge done") diff --git a/doSync.go b/doSync.go index 92e11dc..19c9e86 100644 --- a/doSync.go +++ b/doSync.go @@ -61,11 +61,12 @@ func doSyncClean() error { } func doSyncUser() error { - if count, err := me.forge.RillRepo(10, 20, syncDevelBranch); err != nil { - log.Info("RillFunc() failed", err) - return err + me.forge.ConfigRill(10, 20) + if allerr := me.forge.RillRepos(syncDevelBranch); len(allerr) != 0 { + log.Info("RillFunc() failed", allerr) + return fmt.Errorf("Rill doSyncUser() error count = %d", len(allerr)) } else { - log.Info("Rill syncDevelBranch() ok count =", count) + log.Info("Rill syncDevelBranch() ok count =", len(allerr)) } argv.Force = true diff --git a/doc.go b/doc.go new file mode 100644 index 0000000..725de11 --- /dev/null +++ b/doc.go @@ -0,0 +1,48 @@ +/* +forge -- a tool to git repos at go.wit.com + + but you can probably use it for other things + +A video demonstration of the terminal UI is available at: +https://mirrors.wit.com/guidemo/forge-gocui-demo.webm + +forge v0.22.124-2-g8c25ed1 Built on 2025.07.21_1348 +Usage: forge [--debugger] [--logger] [--no-gui] [--gui GUI] [--gui-file GUI-FILE] [--gui-test GUI-TEST] [--gui-verbose] [--connect CONNECT] [--all] [--build BUILD] [--install INSTALL] [--forge-rebuild] [--force] [--verbose] [--bash] [--auto-complete AUTO-COMPLETE] [] + +Options: + + --debugger open the debugger window + --logger open the log.* control window + --no-gui ignore all these gui problems + --gui GUI Use this gui toolkit [andlabs,gocui,nocui,stdin] + --gui-file GUI-FILE Use a specific plugin.so file + --gui-test GUI-TEST test a specific plugin.so will load + --gui-verbose enable all logging + --connect CONNECT forge url + --all git commit --all + --build BUILD build a repo + --install INSTALL install a repo + --forge-rebuild download and rebuild forge + --force try to strong arm things + --verbose show more output + --bash generate bash completion + --auto-complete AUTO-COMPLETE + todo: move this to go-arg + --help, -h display this help and exit + --version display version and exit + +Commands: + + checkout switch branches using 'git checkout' + clean start over at the beginning + commit 'git commit' but errors out if on wrong branch + config show your .config/forge/ settings + debug debug forge + dirty show dirty git repos + fetch run 'git fetch master' + list print a table of the current repos + merge merge branches + patch make patchsets + pull run 'git pull' +*/ +package main